Skip to content

Latest commit

 

History

History
36 lines (23 loc) · 1.34 KB

202.md

File metadata and controls

36 lines (23 loc) · 1.34 KB

#如何在Python中列出目录下的所有文件

原问题地址:http://stackoverflow.com/questions/3207219/how-to-list-all-files-of-a-directory-in-python

##问题:

我如何在Python中列出目录下的所有文件并将它们添加到一个列表?

##回答:

使用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()。你所访问的每个目录都将生成两个列表 —— 文件列表和目录列表。如果你想要的只是顶层目录,你可以在目录列表第一次生成的时候就结束它。

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()