我想递归地列出从我当前目录开始的所有文件。我的目录结构:
│ cat.py
│ cat2.py
│ du.py
│ README.md.txt
│
└───FirstInnerDirectory
│ file.txt
│
└───SecondInnerDirectory
file2.txt
我的脚本:
import os
def list_content_recursively(start_point):
print("Call from: " + start_point)
for entry in os.listdir(start_point):
if os.path.isfile(entry):
print("File: " + entry)
elif os.path.isdir(entry):
list_content_recursively(entry)
list_content_recursively(os.getcwd())
我的输出:
Call from: C:\Users\Username\Desktop\Programming\week02\03.Files
File: cat.py
File: cat2.py
File: du.py
Call from: FirstInnerDirectory
File: README.md.txt
我不知道为什么它不返回 FirstInnerDirectory 中的文件,并且它不将 SecondInnerDirectory 识别为 dir obj。我也尝试更改条目以包含绝对路径,但它仍然失败。
使用您当前的代码并尽可能少地修改:
import os
def list_content_recursively(start_point):
print("Call from: " + start_point)
for entry in os.listdir(start_point):
full_path = os.path.join(start_point, entry)
if os.path.isfile(full_path):
print("File: " + entry)
elif os.path.isdir(full_path):
list_content_recursively(full_path)
list_content_recursively(os.getcwd())
如您所见,在文件路径中跟踪文件时需要完整路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句