使用 pathlib 递归获取除隐藏文件之外的所有文件
recursively get all files except the hidden ones with pathlib
我想使用 pathlib 递归遍历给定路径的所有 文件 ,除了那些隐藏的或隐藏目录中的文件。例如,来自
|
|- a.txt
|- .b.txt
|- a/
| |- c.txt
| |- .d.txt
| +- c/
| +- e.txt
|- .b/
+- f.txt
我想得到
a.txt
a/c.txt
a/c/e.txt
有什么提示吗?
你可以这样做:
from pathlib import Path
def non_hidden_files(root):
for path in root.glob('*'):
if not path.name.startswith('.'):
if path.is_file():
yield str(path)
else:
yield from non_hidden_files(path)
print(*non_hidden_files(Path('.')))
我想使用 pathlib 递归遍历给定路径的所有 文件 ,除了那些隐藏的或隐藏目录中的文件。例如,来自
|
|- a.txt
|- .b.txt
|- a/
| |- c.txt
| |- .d.txt
| +- c/
| +- e.txt
|- .b/
+- f.txt
我想得到
a.txt
a/c.txt
a/c/e.txt
有什么提示吗?
你可以这样做:
from pathlib import Path
def non_hidden_files(root):
for path in root.glob('*'):
if not path.name.startswith('.'):
if path.is_file():
yield str(path)
else:
yield from non_hidden_files(path)
print(*non_hidden_files(Path('.')))