python查看目录下的文件_Python——查看目录下所有的目录和文件

写程序我们经常会遇到需要遍历某一个目录下的所有文件这个操作,然而python有现成的库,只需要2个循环就可以搞定。

1 importos2

3 defall_path(dirname):4

5 result = []#所有的文件

6

7 for maindir, subdir, file_name_list inos.walk(dirname):8

9 print("1:",maindir) #当前主目录

10 print("2:",subdir) #当前主目录下的所有目录

11 print("3:",file_name_list) #当前主目录下的所有文件

12

13 for filename infile_name_list:14 apath = os.path.join(maindir, filename)#合并成一个完整路径

15 result.append(apath)16

17 returnresult18

19 print(all_path("E:\myTest"))

1637947-20190506192108320-353852681.png

程序运行结果如下:

['E:\\myTest\\kuang3.png', 'E:\\myTest\\txt1.txt', 'E:\\myTest\\txt2.txt', 'E:\\myTest\\YYGB1.png', 'E:\\myTest\\YYGB2.png', 'E:\\myTest\\test1\\txt11.txt', 'E:\\myTest\\test2\\txt21.txt', 'E:\\myTest\\test2\\txt22.txt' ]

当然现在我们是获取了所有的文件,如果我们只想要某一个类型的文件,那么也很简单,写个过滤就好了。所以修改后的代码如下:

importos

filter=[".txt"] #设置过滤后的文件类型 当然可以设置多个类型

defall_path(dirname):

result= []#所有的文件

for maindir, subdir, file_name_list inos.walk(dirname):#print("1:",maindir) #当前主目录

#print("2:",subdir) #当前主目录下的所有目录

#print("3:",file_name_list) #当前主目录下的所有文件

for filename infile_name_list:

apath= os.path.join(maindir, filename)#合并成一个完整路径

ext = os.path.splitext(apath)[1] #获取文件后缀 [0]获取的是除了文件名以外的内容

if ext infilter:

result.append(apath)returnresultprint(all_path("E:\myTest"))#运行结果#['E:\\myTest\\txt1.txt', 'E:\\myTest\\txt2.txt', 'E:\\myTest\\test1\\txt11.txt', 'E:\\myTest\\test2\\txt21.txt', 'E:\\myTest\\test2\\txt22.txt']

或者

deflist_files(self, path):

files =[]

list_dir =os.walk(path)

for maindir, subdir, all_file inlist_dir:

for filename inall_file:

apath =os.path.join(maindir, filename)

if apath.endswith('.txt'):

files.append(apath)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值