前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python os.walk的用法与举例

python os.walk的用法与举例

作者头像
py3study
发布2020-01-07 17:14:58
6690
发布2020-01-07 17:14:58
举报
文章被收录于专栏:python3

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循环自动完成递归枚举

代码语言:javascript
复制
[root:/opt]>$ tree /opt/
/opt/
├── aa
└── test
    ├── aa
    └── file

2 directories, 2 files
代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: utf8 -*- 
#*************************************************************************
# File Name: os.walk.py
# Author: huxianyong
# Mail: hxy123@163.com 
# Created Time: Wed 21 Dec 2016 12:29:55 PM CST
#************************************************************************

import os
def main():
    file_dir = "/" + os.sep + "opt"
    for i,j,k in os.walk(file_dir):
        print "起始路径为: ",i
        print "起始路径下的文件夹为: ",j
        print "起始路径下的文件为: ",k
        print "\n"
if __name__ == '__main__':                                                           
    main()
代码语言:javascript
复制
[root:/python]>$ python os.walk.py 
起始路径为:  //opt
起始路径下的文件夹为:  ['test']
起始路径下的文件为:  ['aa']


起始路径为:  //opt/test
起始路径下的文件夹为:  ['aa']
起始路径下的文件为:  ['file']


起始路径为:  //opt/test/aa
起始路径下的文件夹为:  []
起始路径下的文件为:  []
代码语言:javascript
复制
可以换另一种方法,得到的结果相同import os
def main():
	file_dir = "/" + os.sep + "opt"
	for i in os.walk(file_dir):
		print "起始路径为: ",i[0]
		print "起始路径下的文件夹为: ",i[1]
		print "起始路径下的文件为: ",i[2]
		print "\n"
if __name__ == '__main__':
	main()
代码语言:javascript
复制
也可以以另一种形式展示:import os
def main():
	file_dir = "/" + os.sep + "opt"
	for i,j,k in os.walk(file_dir):
		for h in j:
			print "起始路径下的文件夹为: "
			print(os.path.join(i,h))
		for g in k:
			print "起始路径下的文件为: "
			print(os.path.join(i,g))
		print "\n"
if __name__ == '__main__':
	main()
代码语言:javascript
复制
[root:/python]>$ python os.walk3.py 
起始路径下的文件夹为: 
//opt/test
起始路径下的文件为: 
//opt/aa


起始路径下的文件夹为: 
//opt/test/aa
起始路径下的文件为
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档