在Python中,我们可以使用os.walker或glob创建类似于find()函数,以在指定目录及其子目录中搜索或列出文件或文件夹。
1.1列出指定目录+子目录中的所有.txt文件
import os path = 'c:\\projects\\hc2\\' files = [] # r=root, d=directories, f = files for r, d, f in os.walk(path): for file in f: if '.txt' in file: files.append(os.path.join(r, file)) for f in files: print(f)输出量
c:\projects\hc2\app\readme.txt c:\projects\hc2\app\release.txt c:\projects\hc2\web\readme.txt c:\projects\hc2\whois\download\afrinic.txt c:\projects\hc2\whois\download\apnic.txt c:\projects\hc2\whois\download\arin.txt c:\projects\hc2\whois\download\lacnic.txt c:\projects\hc2\whois\download\ripe.txt c:\projects\hc2\whois\out\test\resources\asn\afrinic\3068.txt c:\projects\hc2\whois\out\test\resources\asn\afrinic\37018.txt //...1.2列出指定目录+子目录中的所有目录
import os path = 'c:\\projects\\hc2\\' folders = [] # r=root, d=directories, f = files for r, d, f in os.walk(path): for folder in d: folders.append(os.path.join(r, folder)) for f in folders: print(f)输出量
c:\projects\hc2\ c:\projects\hc2\analyzer\ c:\projects\hc2\analyzer\out\ c:\projects\hc2\analyzer\out\production\ c:\projects\hc2\analyzer\out\production\classes\ c:\projects\hc2\analyzer\out\production\classes\com\ //...在版本3.5中更改:支持使用**的递归glob。
2.1列出指定目录+子目录(**)中的所有.txt文件
import glob path = 'c:\\projects\\hc2\\' files = [f for f in glob.glob(path + "**/*.txt", recursive=True)] for f in files: print(f)输出量
c:\projects\hc2\app\readme.txt c:\projects\hc2\app\release.txt c:\projects\hc2\web\readme.txt c:\projects\hc2\whois\download\afrinic.txt c:\projects\hc2\whois\download\apnic.txt c:\projects\hc2\whois\download\arin.txt c:\projects\hc2\whois\download\lacnic.txt c:\projects\hc2\whois\download\ripe.txt c:\projects\hc2\whois\out\test\resources\asn\afrinic\3068.txt c:\projects\hc2\whois\out\test\resources\asn\afrinic\37018.txt //...2.2列出指定目录+子目录(**)中的所有目录
import glob folders = [f for f in glob.glob(path + "**/", recursive=True)] for f in folders: print(f)输出量
c:\projects\hc2\ c:\projects\hc2\analyzer\ c:\projects\hc2\analyzer\out\ c:\projects\hc2\analyzer\out\production\ c:\projects\hc2\analyzer\out\production\classes\ c:\projects\hc2\analyzer\out\production\classes\com\ //...皮顿文档– Glob
Python文档– os.walker
翻译自: https://mkyong.com/python/python-how-to-list-all-files-in-a-directory/
推荐阅读--
每周一课 | Python 示例拆分字符串入到字典里面
球分享
球点赞
球在看