如何使用Python遍历目录中的文件?
目录也称为文件夹,是系统文件系统中用于存储和定位文件或多个文件夹的单元组织结构。Python作为一种脚本语言提供了多种方法来迭代目录中的文件。本文晓得博客为你介绍如何使用Python遍历目录中的文件的5种方法。
方法一:os.listdir()
此函数返回的的列表文件和子目录给定目录中存在。我们可以使用过滤列表以仅获取文件os.path.isfile()函数:
import os
directory = 'C:/Users/Administrator/Downloads/新文件'
# iterate over files in
# that directory
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file
if os.path.isfile(f):
print(f)
输出:
方法二: os.scandir()
该方法用于获取 的 的迭代器 os.DirEntry 指定路径给定目录中条目对应 对象 。
例子:
# import required module
import os
# assign directory
directory = 'files'
# iterate over files in
# that directory
for filename in os.scandir(directory):
if filename.is_file():
print(filename.path)
输出:
推荐:Python模块
方法三:pathlib模块
我们可以使用 遍历目录中的文件,该 Path.glob() 函数 函数在给定目录中匹配指定的模式并生成匹配的文件。 Path.glob(‘*’) 生成给定目录中的所有文件
例子:
# import required module
from pathlib import Path
# assign directory
directory = 'files'
# iterate over files in
# that directory
files = Path(directory).glob('*')
for file in files:
print(file)
输出:
方法四: os.walk()
我们也可以使用此方法搜索子目录,因为它会生成一个 3 元组 (dirpath, dirnames, filenames) 。
- root :仅从您指定的内容中打印出目录。
- dirs :从根打印出子目录。
- files :打印出根目录和目录中的所有文件。
# import required module
import os
# assign directory
directory = 'files'
# iterate over files in
# that directory
for root, dirs, files in os.walk(directory):
for filename in files:
print(os.path.join(root, filename))
输出:
方法五: glob模块
所述 glob.iglob() 函数返回在匹配给定模式的路径名的列表中的迭代器。
例子:
# import required module
import glob
# assign directory
directory = 'files'
# iterate over files in
# that directory
for filename in glob.iglob(f'{directory}/*'):
print(filename)
输出:
总结
以上是晓得博客为你介绍的如何使用Python遍历目录中的文件的全部内容,希望对你的Python编程学习有所帮助。
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折