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

新手上路,请多包涵

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

原文由 duhhunjonn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 140
1 个回答

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() 为它访问的每个目录 生成两个列表——一个用于 文件,一个用于 目录。如果你只想要顶级目录,你可以在它第一次产生时中断:

 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

原文由 pycruft 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题