Python os.walk的用法与举例
2017-12-31 17:38
405 查看
转载自:http://blog.csdn.net/bagboy_taobao_com/article/details/8938126
os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:\aaa 目录是这样的文件目录结构
F:\aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
|-------5.txt
|-------6.txt
|-------7.txt
[python] view
plain copy
#!/usr/bin/env python
# 2.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for root, dirs, files in os.walk(fileDir):
#begin
print(root)
print(dirs)
print(files)
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa
# ['4']
# ['1.txt', '2.txt', '3.txt']
# F:\aaa\4
# []
# ['5.txt', '6.txt', '7.txt']
你也可以这样
[python] view
plain copy
#!/usr/bin/env python
# 3.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for a in os.walk(fileDir):
#begin
print(a[0])
print(a[1])
print(a[2])
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa
# ['4']
# ['1.txt', '2.txt', '3.txt']
# F:\aaa\4
# []
# ['5.txt', '6.txt', '7.txt']
通过for循环即可完成目录的递归.
你还可以这样
[python] view
plain copy
#!/usr/bin/env python
# 2.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for root, dirs, files in os.walk(fileDir):
#begin
for dir in dirs:
#begin
print(os.path.join(root, dir))
#end
for file in files:
#begin
print(os.path.join(root, file))
#end
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa\4
# F:\aaa\1.txt
# F:\aaa\2.txt
# F:\aaa\3.txt
# F:\aaa\4\5.txt
# F:\aaa\4\6.txt
# F:\aaa\4\7.txt
os.walk(top, topdown=True, onerror=None, followlinks=False)
可以得到一个三元tupple(dirpath, dirnames, filenames),
第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。
dirpath 是一个string,代表目录的路径,
dirnames 是一个list,包含了dirpath下所有子目录的名字。
filenames 是一个list,包含了非目录文件的名字。
这些名字不包含路径信息,如果需要得到全路径,需要使用os.path.join(dirpath, name).
通过for循环自动完成递归枚举
例如:
F:\aaa 目录是这样的文件目录结构
F:\aaa
|--------1.txt
|--------2.txt
|--------3.txt
|--------4
|-------5.txt
|-------6.txt
|-------7.txt
[python] view
plain copy
#!/usr/bin/env python
# 2.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for root, dirs, files in os.walk(fileDir):
#begin
print(root)
print(dirs)
print(files)
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa
# ['4']
# ['1.txt', '2.txt', '3.txt']
# F:\aaa\4
# []
# ['5.txt', '6.txt', '7.txt']
你也可以这样
[python] view
plain copy
#!/usr/bin/env python
# 3.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for a in os.walk(fileDir):
#begin
print(a[0])
print(a[1])
print(a[2])
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa
# ['4']
# ['1.txt', '2.txt', '3.txt']
# F:\aaa\4
# []
# ['5.txt', '6.txt', '7.txt']
通过for循环即可完成目录的递归.
你还可以这样
[python] view
plain copy
#!/usr/bin/env python
# 2.py
# use UTF-8
# Python 3.3.0
# os.walk()的使用
import os
# 枚举dirPath目录下的所有文件
def main():
#begin
fileDir = "F:" + os.sep + "aaa" # 查找F:\aaa 目录下
for root, dirs, files in os.walk(fileDir):
#begin
for dir in dirs:
#begin
print(os.path.join(root, dir))
#end
for file in files:
#begin
print(os.path.join(root, file))
#end
#end
os.system("pause")
#end
if __name__ == '__main__':
#begin
main()
#end
# 输出
# F:\aaa\4
# F:\aaa\1.txt
# F:\aaa\2.txt
# F:\aaa\3.txt
# F:\aaa\4\5.txt
# F:\aaa\4\6.txt
# F:\aaa\4\7.txt
相关文章推荐
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- Python os.walk的用法与举例
- python查询文件夹下文件os.walk()用法
- python-os.walk()使用举例
- python中os.walk的用法
- python 中 os 和 shutil 模块的常见用法
- 举例简单讲解Python中的数据存储模块shelve的用法
- Python的os.walk()方法详细讲解
- Python之os.walk和os.path.walk
- python 系统学习笔记(十二)---os os.path os.walk
- python-os.walk目录递归
- [python]怎么样用Python读取一个目录树-os.walk入门
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- 举例讲解Python中装饰器的用法
- 纠结的Python2.7编码与os.walk()函数的目录参数
- python中关于os.path.file的详细用法
- Python中zip()函数用法举例