如何列出目录中的所有文件?

时间 2010-07-09
阅读 2793132
点赞 3118
收藏 737
连接duhhunjonn

如何列出Python中目录的所有文件并将它们添加到list

建议答案

os.listdir()它将为您提供目录中的所有内容-文件和目录。

如果你想要只是文件,您可以使用os.path

from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]

或者你可以使用os.walk()这将为其访问的每个目录产生两个列表-拆分为文件和dir。如果您只想要顶部目录,那么您可以在第一次生成时中断它

from os import walk

f = []
for (dirpath, dirnames, filenames) in walk(mypath):
    f.extend(filenames)
    break

最后,如该示例所示,将一个列表添加到另一个列表,您可以使用.extend()

>>> q = [1, 2, 3]
>>> w = [4, 5, 6]
>>> q = q + w
>>> q
[1, 2, 3, 4, 5, 6]

就我个人而言,我更喜欢.extend()

👍 3086