Python如何列出目录中的所有文件?

在Python中,可以使用os.walkerglob创建一个类似于find()的函数来搜索或列出指定目录中的文件或文件夹以及它的子目录。

1. os.walker

1.1. 列出指定目录+子目录中的所有.txt文件。

import os  path = '/home/maxsu/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) 

1.2. 列出指定目录+子目录中的所有目录。

import os  path = '/home/maxsu/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) 

3. glob

在Python 3.5版中更改:使用**支持递归globs

2.1. 列出指定目录中的所有.txt文件+子目录(**)。

import glob  path = '/home/maxsu/projects/hc2/'  files = [f for f in glob.glob(path + "**/*.txt", recursive=True)]  for f in files:     print(f) 

2.2. 列出指定目录中的所有目录+子目录(**)。

import glob  folders = [f for f in glob.glob(path + "**/", recursive=True)]  for f in folders:     print(f) 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/264068.html

(0)
上一篇 2022年6月6日 23:40
下一篇 2022年6月6日 23:40

相关推荐

发表回复

登录后才能评论