python os.walk
Python的os.walk:深入了解文件与目录遍历器
os.walk是Python中的一个非常实用的方法,它允许我们在目录树中遍历并输出其中的文件名。此方法能够高效处理文件与目录相关的事务,无论是向下还是向上遍历。
语法格式
os.walk([, down=True[, onerror=None[, followlinks=False]]])
参数详解
第一个参数是你想要遍历的目录地址。该方法会返回一个三元组(root,dirs,files)。
+ root:表示当前正在遍历的文件夹地址。
+ dirs:是一个列表,包含该文件夹中所有目录的名称(不包括子目录)。
+ files:也是一个列表,包含该文件夹中所有文件的名称(不包括子目录)。
down参数默认为True。如果为True,会优先遍历目录;如果为False,则会优先遍历子目录。
onerror是一个可选参数,需要传入一个callable对象。当walk出现错误时,会调用此对象。
followlinks参数默认为False。如果为True,会遍历目录下的快捷方式(在Linux下是软链接symbolic link)实际所指的目录;如果为False,则会优先遍历子目录。
示例代码
```python
!/usr/bin/python
-- coding: UTF-8 --
import os
for root, dirs, files in os.walk(".", down=False):
for name in files:
print(os.path.join(root, name)) 输出文件路径
for name in dirs:
print(os.path.join(root, name)) 输出目录路径
```
输出示例
这段代码会输出当前目录及其所有子目录下的文件和文件夹名称,按照相对路径排列。例如:
```bash
./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./test.py
./tmp/test.py 子目录下的文件也会被列出
```
通过os.walk方法,我们可以轻松地遍历整个目录结构,处理各种文件操作,如复制、删除、移动等。无论是处理大型项目还是进行简单的文件管理任务,os.walk都是一个强大的工具。希望这篇文章能帮助你更好地理解和使用os.walk方法。