【发布时间】:2020-01-14 12:56:06
【问题描述】:
我有一个目录,我想获取其中的所有文件(没有目录),以及它的任何子目录中的所有文件等等。
【问题讨论】:
我有一个目录,我想获取其中的所有文件(没有目录),以及它的任何子目录中的所有文件等等。
【问题讨论】:
使用glob 或rglob 到recursively iterate over both files and directories,然后跳过任何不返回True 的Path.is_file()
from pathlib import Path
def iter_files(path):
for file_or_directory in path.rglob("*"):
if file_or_directory.is_file():
yield file_or_directory
然后你可以像这样使用那个生成器
my_path = Path("/some/path/here")
for my_file in iter_files(my_path):
do_whatever(my_file)
您可以在列表推导中使用相同的原则
files = [path for path in my_path.rglob("*") if path.is_file()]
【讨论】: