如何在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