中易网

python os.walk怎么循环

答案:1  悬赏:0  
解决时间 2021-02-26 08:57
python os.walk怎么循环
最佳答案
os.walk(top, topdown=True, onerror=None, followlinks=False) 
可以得到一个三元tupple(dirpath, dirnames, filenames), 
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:aaa 目录是这样的文件目录结构
F:aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
|-------5.txt
|-------6.txt
|-------7.txt
[python] view plain copy
#!/usr/bin/env python  
# 2.py  
# use UTF-8  
# Python 3.3.0  
# os.walk()的使用  
import os  
# 枚举dirPath目录下的所有文件  
def main():  
#begin  
fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
for root, dirs, files in os.walk(fileDir):  
#begin  
print(root)  
print(dirs)  
print(files)  
#end  
os.system("pause")  
#end  
if __name__ == '__main__':  
#begin  
main()  
#end  
# 输出  
# F:aaa  
# ['4']  
# ['1.txt', '2.txt', '3.txt']  
# F:aaa4  
# []  
# ['5.txt', '6.txt', '7.txt']  

你也可以这样[python] view plain copy
#!/usr/bin/env python  
# 3.py  
# use UTF-8  
# Python 3.3.0  
# os.walk()的使用  
import os  
# 枚举dirPath目录下的所有文件  
def main():  
#begin  
fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
for a in os.walk(fileDir):  
#begin  
print(a[0])  
print(a[1])  
print(a[2])  
#end  
os.system("pause")  
#end  
if __name__ == '__main__':  
#begin  
main()  
#end  
# 输出  
# F:aaa  
# ['4']  
# ['1.txt', '2.txt', '3.txt']  
# F:aaa4  
# []  
# ['5.txt', '6.txt', '7.txt']  

通过for循环即可完成目录的递归.你还可以这样
[python] view plain copy
#!/usr/bin/env python  
# 2.py  
# use UTF-8  
# Python 3.3.0  
# os.walk()的使用  
import os  
# 枚举dirPath目录下的所有文件  
def main():  
#begin  
fileDir = "F:" + os.sep + "aaa"     # 查找F:aaa 目录下    
for root, dirs, files in os.walk(fileDir):  
#begin  
for dir in dirs:  
#begin  
print(os.path.join(root, dir))  
#end  
for file in files:  
#begin  
print(os.path.join(root, file))  
#end  
#end  
os.system("pause")  
#end  
if __name__ == '__main__':  
#begin  
main()  
#end  
# 输出  
# F:aaa4  
# F:aaa1.txt  
# F:aaa2.txt  
# F:aaa3.txt  
# F:aaa45.txt  
# F:aaa46.txt  
# F:aaa47.txt  
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金刚狼的刀,急!!
治均副食地址在什么地方,想过去办事
青海大学携程羽毛球俱乐部章程
杜家坡庄村地址在什么地方,想过去办事
学网络营销主要做什么?
被注射了狂犬病育苗的狗狗咬破皮了,必须打针
谁帮我百世汇通物流查询一下,我怎么都查不到
昆明市公安局交警支队地址有知道的么?有点事
宝恒生物合法吗?能不能做
聊斋志异是( )篇小说集,岳武穆就是( ),他的
无忧CO2好用么?
哪个女作家是被人言可畏给逼死的?
福源广告装饰地址在什么地方,想过去办事
为什么每次外拍都会碰到几个扛着机顶闪光灯的
牛记羊肉汤地址在什么地方,想过去办事
推荐资讯
关于嵌入式三个方向:应用开发,系统开发和驱
圣井楼酒家在哪里啊,我有事要去这个地方
有哪些好的动漫图片网站?
芙蓉兴盛便利超市文皓超市这个地址在什么地方
请问这是什么植物?是参的一种吗?一年生的植
写一首歌,以《花茗》为题目
林允儿血型。身高。毕业院校。
勤奋庄村地址在什么地方,想过去办事
郝家沽在哪里啊,我有事要去这个地方
碧波专业干洗地址有知道的么?有点事想过去
像女生表白个性签名怎么改
2个月多大的博美,怎么看 是不是病狗这样子
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?