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

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种方法了,如果你还有其他方法,欢迎评论交流。

西祠胡同衰落不可逆远山文西祠胡同,一个堪称互联网论坛骨灰级代表的名字,似乎早已从人们的记忆中消失。然而近日,它以一种近乎悲壮的新闻角色重新出现了一则南京西祠信息技术股份有限公司500万股股份转让公告数字人民币再次扩大使用范围,有没有你的城市?4月2日中国人民银行官网发布消息称数字人民币试点范围再次扩大,目前除了试点地区又新加了天津市重庆市广东省广州市福建省福州市和厦门市以及浙江省承办亚运会的6个城市(杭州宁波温州湖州绍我们的宇宙是盘录像带么?(二)书接上文,问题的关键在于人类有没有灵魂?我们有没有自由意志?我们真的可以创造历史么?假设我们拥有自由意志,那么假设时光倒流10年,10年后绝对不会出现一个一模一样的现在,随便一个人从4699元跌至2669元,12G256G2K屏幕,高端旗舰机开始跳水大家好,我是唐三。近期的手机数码市场颇为热闹,各大厂商都有不少新机进入市场。其中小米手机和OPPO旗下子品牌realme表现得尤为活跃,小米推出了小米12系列,realme紧跟着就3款旗舰大跳水直降数千元现在入手晚了吗?看完你就知道了虽然人们常说买新不买旧,但是手机其实就是一种消耗品,没有必要一味地追求时尚,够用就行了。新手机虽然可以给我们带来新的体验,但是它的价格也是高的呀!那么为大家推荐几款高端旗舰手机,它阿里巴巴的蒋凡卸了那么多职位,和2020年事件有关系吗?阿里死了他占80的责任,20责任是zy!你以为别人在意他劈腿的事???在意的是他能力差,搞死淘宝天猫了!要不是他送人头拼多多能起来?还有人说不去淘宝去京东买的,是间歇性失忆吗?京东市值缩水近3。8万亿,阿里巴巴回到原点,马云告别首富据消息可知,不久前,阿里巴巴市值暴跌至2914亿美元。在2020年,阿里巴巴市值突破8000亿美元。换算成人民币,代表着阿里巴巴仅仅用了一年的时间,市值缩水近3。8万亿。而上一次市小米MIXFOLD2曝光或采用360折叠屏6月份发布锚思科技讯据爆料,小米可能在6月份发布小米MIXFOLD2。它是小米旗下第二代折叠屏旗舰机。据xiaomiui。net爆料,小米MIXFOLD2内部代号zizhan,型号22061格力空调分体变频落地柜式房间空调器系列E风凉之韵云逸主要功能特点自带清洁功能,追求清新空气无缝设计,尽显简洁大方WiFi物联,舒适一手掌握(限WiFi机型)人性化触摸显示,感触科技锋芒广域扫风模式,送风范围更广E风KFR50LW(5品质的享受!Burmester(柏林之声)BC150座地式扬声器随着全新BC150扬声器型号的诞生,可以证实Burmester已利用在SignatureLine所创造的音质技术和设计方面的飞跃成果应用于其他产品线上。同时旗舰BC350的现有元素电视买的好,全家没烦恼1。逢年过节,亲戚朋友相聚,客厅电视你少不了。2。体育赛事,三五好友相聚,客厅电视你少不了。3。疫情频发,全家一起隔离,客厅电视你少不了。4。缺少陪伴,老少打发时间,客厅电视你少不
有好看的头像或壁纸吗?雨天津卫哈哈儿时的梦想洛阳牡丹甲天下大海大雪纷飞君之美再也找不回祈祷很高兴回答楼主的提问我是一名绘画爱好者,分享几款真人头像手绘后的效果图,喜欢我作品的可以加我关注收藏哦!你要多好备货很足,红米K40S已在路上,5500mAh骁龙888Plus去年十月份的时候,红米为了冲击双十一,特意发布了一款顶尖的高性价比旗舰红米K30S至尊版。今年已经是九月份,红米还会采取上一年的做法,在十月份推出一款超强的高性价比旗舰,也就是红米Windows11是不是老CPU不能用?会出现兼容性问题,用还是可以用的,但是无法通过官方渠道获取更新升级,需要自己在网上下载镜像文件装系统我的老UE3V2都装上了,用了一个多月了,本来以为可以直接装安卓App的,结果更为了证明彩票开奖并无人为因素,可否在开奖时让摇奖机将所有号码都摇出来?即使把所有的号码开出来,意义也不大。因为顺序也是可以控制的。目前彩票开奖弊端有很多,最主要的有两个,一个是延时开奖,一个是机器摇奖。从目前的技术角度来讲,延时开奖意义并不大。现在的O2OB2CC2CB2B这些概念到底有什么区别?O2O是指线上和线下的结合即互联网电商模式与线下实体店模式的统称,是互联网领域的一个模式C2C是指消费者或是顾客与消费者间的商业过程,即从到的过程,比如淘宝,其实这里的是指个人创业为什么小米手机发热严重,而其它品牌的手机不怎么烫手?手机发热意味着高耗电,高损害电池,系统垃圾,所以小米不配做高端机,本人数码控只用高端但是这次栽了从iPhonemax换成小米6千多买的,发誓以后不用小米的所有产品,附图看看我的垃圾特斯拉今年在美国提价12次,在中国却为何不涨价?原因再简单不过了,被美股吹破天的特斯拉在美国是神一样的存在,而这个大神在中国巳经陷入了群狼围殴,如果不降价,市场不下沉,特斯拉在中国市场将输得净光,降价是唯一可以中国站住脚的策略,如果在头条每天有500收入,你还会工作吗?500收入就是工作。所以做一个专注的人就挺好了,一心一意把500一天赚了就足够了!其他的工作就不会再考虑了,只会想着今天500,明天能不能600,后天能不能700,垂直深耕不好吗?新机华强北iPhone12大降价小米11T发布会诺基亚首款5G手机首款5G手机NokiaG50现身近日,诺基亚G505G智能手机出现在了跑分网站Geekbench上,确认将搭载骁龙480芯片,与的入门级的诺基亚X10诺基亚X20和诺基亚XR20完2。5万美元没有踏板方向盘的特斯拉将在2023年推出你敢开吗?在去年的特斯拉电池日上,其CEO马斯克曾表示将生产价格为2。5万美元的电动汽车,这让不少的消费者对此充满了期待。但是到目前为止,关于这款低价小车的细节信息却很少,什么时候能上市?车微信双系统版本同时更新,这6个实用功能终于来了微信更新一直很频繁,虽然被不少用户吐槽越来越臃肿了,但确实也加入了不少很实用的功能。这不,微信最近迎来了双系统版本的更新,这6个非常实用的功能,终于来了。1Callkit回归现在打