Python os.listdir()与os.walk()详解:遍历文件路径与子目录
版权申诉
5星 · 超过95%的资源 185 浏览量
更新于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 上传
2015-11-20 上传
2021-01-21 上传
2021-01-20 上传
2021-01-21 上传
2023-04-06 上传
2023-04-04 上传
2023-04-04 上传
2023-03-31 上传
weixin_38658564
- 粉丝: 1
- 资源: 942
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫