从目录获取文件
检索目录的文件列表是 Python 编程中的常见任务。一种方法是使用 os.listdir(),它返回目录中的所有项目,包括文件和目录。
方法 1:使用 os.path.isfile()
要仅列出文件,请使用os.path.isfile():
from os import listdir from os.path import isfile, join mypath = 'path/to/directory' onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
方法 2:使用 os.walk()
os.walk() 迭代目录及其子目录,为其访问的每个目录返回一个元组。该元组包含三个列表:一个用于文件,一个用于目录,一个用于当前目录本身。
from os import walk mypath = 'path/to/directory' filenames = next(walk(mypath), (None, None, []))[2] # [] if no files
这种方法提供了更完整的目录结构表示。要仅列出当前目录中的文件,请在第一次迭代后中断循环:
from os import walk f = [] for (dirpath, dirnames, filenames) in walk(mypath): f.extend(filenames) break
以上是如何使用 Python 高效地仅列出目录中的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!