上一篇
Python查看文件目录的几种方法详解 | Python文件操作教程
- Python
- 2025-08-12
- 1407
Python查看文件目录的几种方法详解
掌握Python文件目录操作的多种实用技巧
为什么需要查看文件目录?
在Python编程中,文件目录操作是常见任务。无论是数据分析、自动化脚本还是Web应用开发,我们经常需要:
- 列出目录中的所有文件和子目录
- 根据特定模式搜索文件
- 递归遍历目录结构
- 获取文件属性信息
Python提供了多种内置模块来实现这些功能,包括os
、glob
和pathlib
等。
方法一:使用os.listdir()
os.listdir()
是Python中最基本的目录查看方法,返回指定路径下的所有文件和子目录名称列表。
代码示例:
import os
# 获取当前目录下的所有文件和子目录
contents = os.listdir('.')
print("当前目录内容:")
for item in contents:
print(item)
# 获取指定目录内容
path = "/path/to/your/directory"
if os.path.exists(path):
print(f"\n{path} 目录内容:")
for item in os.listdir(path):
print(item)
else:
print(f"目录 {path} 不存在")
优点:
- 简单易用,不需要额外安装
- 返回结果快速直接
缺点:
- 不区分文件和目录
- 不提供递归功能
- 不包含完整路径信息
方法二:使用glob.glob()
glob
模块支持使用Unix shell风格的通配符进行文件匹配,非常适合根据特定模式查找文件。
代码示例:
import glob
# 查找当前目录所有.py文件
py_files = glob.glob("*.py")
print("Python文件:")
for file in py_files:
print(file)
# 查找子目录中的所有.jpg文件
jpg_files = glob.glob("**/*.jpg", recursive=True)
print("\n所有JPG图片:")
for jpg in jpg_files:
print(jpg)
# 使用绝对路径匹配
abs_files = glob.glob("/home/user/docs/*.txt")
print("\n文档目录中的文本文件:")
for txt in abs_files:
print(txt)
通配符说明:
*
- 匹配任意数量的字符?
- 匹配单个字符[]
- 匹配指定范围内的字符**
- 递归匹配所有子目录(需设置recursive=True)
方法三:使用os.walk()
os.walk()
是遍历目录树的最佳方法,它会递归访问所有子目录,并返回三元组(目录路径、子目录列表、文件列表)。
代码示例:
import os
# 遍历当前目录及其所有子目录
for root, dirs, files in os.walk('.'):
print(f"\n当前目录: {root}")
print(f"子目录: {dirs}")
print(f"文件: {files}")
# 处理每个文件
for file in files:
# 获取文件完整路径
file_path = os.path.join(root, file)
print(f"文件路径: {file_path}")
# 获取文件大小
file_size = os.path.getsize(file_path)
print(f"文件大小: {file_size} 字节")
实际应用场景:
- 计算目录总大小
- 批量重命名目录中的文件
- 查找特定类型的文件
- 备份整个目录结构
方法对比总结
方法 | 特点 | 适用场景 |
---|---|---|
os.listdir() |
简单快速,返回当前目录内容 | 只需查看当前目录内容 |
glob.glob() |
支持通配符匹配,可递归搜索 | 按模式查找特定类型文件 |
os.walk() |
完整递归遍历,提供目录结构 | 需要处理整个目录树结构 |
根据你的需求选择最合适的方法:
- 快速查看 →
os.listdir()
- 模式匹配 →
glob.glob()
- 递归遍历 →
os.walk()
本文由PangMei于2025-08-12发表在吾爱品聚,如有疑问,请联系我们。
本文链接:https://521pj.cn/20257953.html
发表评论