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

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

最佳答案

os.listdir() 返回目录中的所有内容——包括文件目录

os.pathisfile() 可用于仅列出文件:

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/

相关文章:

python - @staticmethod 和 @classmethod 之间的区别

python - 在函数中使用全局变量

python - 查找列表中项目的索引

python - 了解切片

python - 如何从列表列表中制作平面列表?

python - 如何检查列表是否为空?

python - 如何按值对字典进行排序?

python - 使用 'for' 循环遍历字典

python - Python 的列表方法 append 和 extend 有什么区别?

python - 在 'for' 循环中访问索引