我有一个目录,我想在其中获取所有文件(无目录),以及其任何子目录中的所有文件,依此类推。
答案 0 :(得分:0)
使用glob
或rglob
到recursively iterate over both files and directories,然后跳过所有不返回Path.is_file()
的True
的内容
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()]