首页 >后端开发 >Python教程 >如何使用 Python 高效地仅列出目录中的文件?

如何使用 Python 高效地仅列出目录中的文件?

DDD
DDD原创
2025-01-01 12:31:11869浏览

How Can I Efficiently List Only Files in a Directory Using Python?

从目录获取文件

检索目录的文件列表是 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn