范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

python遍历目录就是这么简单

  有时我们有列出目录下都有哪些文件和子目录的需求,这种情况是有现成命令可用的,比如windows下的dir命令,linux下的ls命令都可以,那我们用python代码怎么实现呢?
  我们利用python丰富的库很容易就能实现一个简易版本,下面我们就用4种方法来实现它。
  一、使用os.popen
  os.popen工作原理是新建一个子进程,然后用这个子进程执行命令,父进程与子进程间通过管道进行通信。
  根据调用popen时的传参,我们可以通过管道读取子进程的输出也可以向子进程写数据,默认是读取子进程的输出。
  从以上描述可以看出popen是非常通用的,不是只能用于我们这个例子哦。
  那我们开始用它实现我们的需求吧,代码如下:import os  for line in os.popen("ls"):     print(line, end="")
  哈哈,是不是很简单,这种方式虽然能达到目的但其实并不是我们想要的,我们本来就是要实现ls的,结果调用了ls,所以严格意义上来说我们并没有实现ls,那让我们继续往下看其它方法吧,嘿嘿。
  二、使用glob.glob
  glob可以根据你使用的通配符对文件进行匹配,利用这个特性我们可以列出当前目录下都有哪些文件和子目录,如下代码:import glob   for line in glob.glob("*"):     print(line)
  三、使用os.listdir
  os.listdir同样可以列出某个目录下都有哪些文件和子目录,如下代码:import os   for line in os.listdir("."):     print(line)
  四、使用os.walk
  os.walk在遍历目录方面非常强大,它不但可以遍历你需要的目录,也可以递归遍历子目录且递归的深度可以用代码控制,下面让我们分别看下怎么遍历整个目录树以及怎么控制深度吧。
  os.walk默认是遍历整个目录树的,如下代码就会递归打印出当前目录下所有文件:import os   for dirname, subdirs, files in os.walk("."):     for line in files:        print(dirname.rstrip("/") + "/" + line)
  那我们怎么控制遍历的深度,比如只遍历n层呢?其实很简单,只需要定义一个深度变量,然后到达n后跳出循环即可,如下代码就只遍历1层:import os   depth = 0 target = 1 for dirname, subdirs, files in os.walk("."):     for line in files:        print(dirname.rstrip("/") + "/" + line)     depth = depth + 1     if depth >= target:         break
  至此我们已经写完4种方法了,如果你还有其他方法,欢迎评论交流。

你曾瞧不上的小鹏P7,如今却是唯一首款破十万的新势力纯电车型上周,小鹏汽车正式宣布第十万辆小鹏P7正式下线,与此同时,小鹏汽车还推出了纪念版车型小鹏P7562EBlackLabelEdition。十万台,似乎没有什么好关注的?确实是,但这仅真痛!一个5G手机壳,彻底揭开了华为以及国产机的伤疤华为手机的物理外挂,终于来了,就是以下这款手机壳。虽然看起来平平无奇,但它却能让华为手机用上5G。壳中内嵌了eSIM芯片和5GModem,靠着这两玩意,让华为P50Pro获得了5G8499元起!索尼Xperia1IV国行发布,全球首创连续光变5月23日晚,索尼全新技术旗舰索尼Xperia1IV在发布会中正式登场,作为老牌相机厂商的索尼,将多年来沉淀的相机技术应用到了手机当中,Xperia1IV不仅拥有天花板级别的硬件配消息称特斯拉柏林工厂开始两班制生产鞭牛士5月23日消息,据媒体报道,特斯拉上周五已在其柏林超级工厂启动了第二个班次。在特斯拉汽车需求不断增长的情况下,柏林新工厂开始两班制生产将有助于提高产量。柏林超级工厂于3月22全国数字计量技术委员会和全国人工智能计量技术委员会成立中国青年报客户端北京5月20日电(中青报中青网记者李若一)为迎接计量数字化转型挑战,在今年5月20日世界计量日纪念大会上,市场监管总局正式宣布成立全国数字计量技术委员会和全国人工智米家6款热销智能指纹锁对比,618买哪个?你有没有出门忘带过钥匙,半夜进不去门的尴尬?有没有上班走了一半,突然想不起到底门锁没锁的纠结?看了各种三秒锡纸开锁的报道,有没有些许忧虑?是时候换个指纹锁了!我是从16年开始使用的618门锁选哪家?华为首款鸿蒙智能门锁,真正锁住安全目前智能门锁已是很多年轻消费者必入的家居单品,今年三月份,华为刚刚发布首款鸿蒙智能门锁,正式开启了在家庭安防场景的新体验。同时也是业界唯一采用了金融级安全架构的智能门锁。防小黑盒防欧盟又立功了!数字市场法案通过,苹果真要开放第三方侧载?据外媒报道,欧盟一直要求苹果开放侧载(第三方)限制,遭到苹果公司强烈反对,由于没有强制手段以至于进展不大。不过,欧盟最新通过数字市场法案临时协议,可能会强制要求苹果遵守规定,否则会PS颤抖了!全新2022PortraitPro智能磨皮软件技术简直不要太爽磨皮前磨皮后今天给小伙伴们带来2022最新PortraitProfessional中文版,是一款新颖而且智能的人像磨皮软件,它能够在短时间内为你处理出专业水准的高质量图像,你只要通宁德时代传来大利好,新能源板块能涨吗?1宁德时代获得欧洲经济委员会新法规下全球首张准入证书!这是欧洲对于宁德时代的肯定啊,也说明我们的宁王不负众望。当然,这对于新能源板块是大利好,今天可以期待一下新能源板块反弹。2电视家长孩子都开心网易有道智能学习灯大家好,我是波导终结者。随着家中小孩子年纪渐长,再过不久就得上小学了,各种学习用品现在已经开始在准备。不得不说,现在科技发展真是厉害,以前我们那个时候除了一根笔,一盏灯,一张嘴还有
400块的主板,技嘉和华硕B365工包主板的价格,买新10代酷睿座驾导读很多小伙伴这个时候可能都在等京东618,然后给自己的爱机好好升级或者给自己购买一台能够畅游网络游戏世界的台式主机,再加上现在10代处理器已经铺开,从各个店铺都能找到相应的处理器网上有很多移动硬盘很便宜,老程带你来了解了解这些移动硬盘导读网上有很多移动硬盘很便宜,老程带你来了解了解这些移动硬盘之前老程科普过一个移动硬盘省钱的方法,老程今天在网上搜索移动硬盘的时候,发现在京东淘宝等电商平台上面看到的移动硬盘有的特10代intel处理器来了,电脑晚上必须关机,比丰巢用的电费还多了导读我想很多小伙伴已经从各个渠道了解到10代处理器了,并且现在淘宝上有I510400处理器的散片出来了,价格相对来说不贵,才1389元,现在9400F的价钱也在千元左右,总的来说价印度人抵制中国制造,老程突然有了一个发财的想法输送洋垃圾导读今天老程在虎扑上面看到新闻说,印度人民现在正在打砸中国制造的电视,但是从二楼扔下去,电视竟然没有散架,这说明中国制造质量相当的不错,但是现在中国制造被抵制了,我想弄中国的龙芯芯英伟达的7nm芯片也即将面世,老黄刀法是否依旧那么犀利导读在5月14号的晚上,很多关注显卡的人可能会发现NVDIA在GPU年度大会上以录播的方式发布了NVDIA最新的安培架构以及第一个使用安培架构的GPUNVIDIAA100,这是一款LK分享L4级路侧需求技术路线及痛点1L4级为什么需要路侧配合?在实现自动驾驶的过程中,对于车端感知的自动驾驶其由于感知范围有限,感知性能上由于传感器自身存在的限制,可能导致感知性能暂时性降低甚至失效,仅靠单车的智能LK分享智能驾驶需求的智能座舱升级方案当前汽车智能化应用大部分能与之关联的是智能驾驶。实际上,真正的智能化有三大发展方向驾驶自动化座舱智能化网联智能化。要实现真正的无人驾驶汽车,既需要在智能网联的帮助下,将人从动态驾驶LK分享我国未来三十年低碳投资需求是487万亿在供需两侧共同发力的背景下,绿色金融市场将持续快速扩容。马骏中国金融学会绿色金融专业委员会主任北京绿色金融与可持续发展研究院院长2020年9月,我国向全世界做出了中国将在2030年智慧家电抢占消费市场新赛道,添可把握消费升级新需求很多发明的出发点,都是为了偷懒,懒人是推动社会进步的原动力。遥控器变成了声控,汽车成了无人驾驶,轻松实现地面干净,把大厨味道带回家网上很多网友在争论是懒推动着社会进步,还是社会进步订单交付排到2022年,145元抛光布需求强劲,苹果对此意料之中10月30日消息,据9to5Mac报道,对苹果145元抛光布关注讨论仍在继续。这一次,纽约时报发表了一篇新的报道,深入探讨了对苹果145元(美版售价19美元)屏幕清洁布的需求,引用有哪些家居用品靠一时冲动买回家,却发现非常实用?那必须是洗地机啊!而且,我敢说,你们都没有比我更冲动的了!我是根本没了解过这玩意,就是因为在某直播间里看到这玩意只要往前一推,就能把地上的小米大米黄豆金针菇番茄酱酱油蚝油方便面汤啥