如何在 Python 中列出一个目录的所有文件并将它们添加到 list
中?
最佳答案
os.listdir()
返回目录中的所有内容——包括文件和目录。
os.path
的 isfile()
可用于仅列出文件:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
或者, os.walk()
为它访问的每个目录生成两个列表——一个用于文件,一个用于dirs。如果您只想要顶级目录,则可以在第一次生成时中断:
from os import walk
f = []
for (dirpath, dirnames, filenames) in walk(mypath):
f.extend(filenames)
break
或者,更短:
from os import walk
filenames = next(walk(mypath), (None, None, []))[2] # [] if no file
https://stackoverflow.com/questions/3207219/