在 Python 中,我只想列出当前目录中的所有文件。我不希望从任何子目录或父目录中列出文件。
那里似乎确实有类似的解决方案,但它们似乎对我不起作用。这是我的代码片段:
import os
for subdir, dirs, files in os.walk('./'):
for file in files:
do some stuff
print file
假设我的当前目录中有 2 个文件,holygrail.py 和 Tim。我也有一个文件夹,其中包含两个文件——我们称它们为 Arthur 和 Lancelot——在里面。当我运行脚本时,这就是我得到的:
holygrail.py
Tim
Arthur
Lancelot
我对 Holygrail.py 和 Tim 很满意。但是我不想列出 Arthur 和 Lancelot 这两个文件。
原文由 slam_duncan 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需使用
os.listdir
和os.path.isfile
而不是os.walk
。例子:
但是在将其应用于其他目录时要小心,例如
这不起作用,因为
f
不是完整路径,而是相对于当前目录。因此,要过滤另一个目录,请执行
os.path.isfile(os.path.join(somedir, f))
(感谢 因果 的提示)