我正在尝试公开文件的选择性路径,使用os.walk找到。步行功能工作正常,并公开了我想要的所有文件,但是现在我只能公开文件名或文件的完整路径。
path = 'C:/Users/testing_recurssion'
for root, d_names, f_names in os.walk(path):
for name in f_names:
print(os.path.join(root, name))
这将返回
C:/Users/testing_recurssionfolder1file3.txt
C:/Users/testing_recurssionfolder1folder3file4.txt
但是,我希望它返回
folder1file3.txt
folder1folder3file4.txt
**
使用os.relpath
directory = "C:/Users/testing_recurssion"
for root, d_names, f_names in os.walk(directory):
for name in f_names:
path = os.path.join(root, name)
print(os.path.relpath(path, directory))
另外 - 考虑使用更新和面向对象的pathlib.Path
:
from pathlib import Path
directory = Path("C:/Users/testing_recurssion")
for path in directory.rglob("*"):
print(path.relative_to(directory))