Python os.listdir()与os.walk()详解:遍历文件路径与子目录
版权申诉
5星 · 超过95%的资源 44 浏览量
更新于2024-09-15
收藏 209KB PDF 举报
在Python编程中,处理文件和目录路径是常见的需求。本文主要介绍了如何使用os.listdir()和os.walk()这两个函数来获取文件路径以及它们所包含的子目录。这两个函数在Python标准库os模块中非常实用,尤其是在处理文件系统结构时。
os.listdir()函数用于获取指定目录下的所有文件和子目录名称,其语法如下:
```python
import os
file_list = os.listdir(directory)
```
其中,`directory`是你想要列出内容的路径。这个函数返回一个包含字符串的列表,这些字符串代表了目录中的项目名(包括文件和子目录)。
然而,如果你需要递归地遍历整个目录树并获取所有子目录及其内部的文件,os.walk()函数更为强大。这个函数会生成一个迭代器,可以逐层遍历目录,返回三元组:当前目录路径(root)、当前目录下的子目录列表(dirs)和当前目录下的文件列表(names)。这里有一个简单的例子:
```python
import os
def walk_directory(path):
if not os.path.exists(path):
return -1
for root, dirs, files in os.walk(path):
for filename in files:
print(os.path.join(root, filename)) # 获得完整文件路径
# 使用walk_directory函数
walk_directory("C:\\Users\\Administrator\\Desktop\\2017-9-1")
```
在上述代码中,`os.walk()`的参数解释如下:
- `top`:指定要开始遍历的根目录。
- `topdown`:默认为True,表示按层次结构顺序进行遍历(即先根目录,后子目录),如果设置为False,将按照相反的顺序(即先子目录,后根目录)。
- `onerror`:可选的错误处理函数,当遍历过程中遇到错误时,可以捕获并处理这些错误。
当你运行这段代码,它会打印出指定路径下的所有文件路径,包括子目录中的文件。这对于文件搜索、备份或分析文件系统结构非常有用。
需要注意的是,在Python 3.6及更高版本中,os.path.walk()已被弃用,因为它不如os.walk()灵活且易用。因此,推荐使用os.walk()函数来处理文件路径和目录操作。理解这两个函数的工作原理,并熟练运用它们,能大大提高你处理文件系统的效率和准确性。
2021-04-12 上传
2021-01-21 上传
2015-11-20 上传
2021-01-20 上传
2020-09-20 上传
2023-04-06 上传
2023-04-04 上传
2023-04-04 上传
2023-03-31 上传
weixin_38658564
- 粉丝: 1
- 资源: 942
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器