python的os模块中的os.walk()函数
os.walk('path')函数对于每个目录返回一个三元组,(dirpath, dirnames, filenames),
第一个是路径,第二个是路径下面的目录,第三个是路径下面的文件
如果加参数topdown=False则表示自下而上进行遍历,默认为topdown=True即自上而下进行遍历
例如对于下面的结构来说

#对于上述结构,os.walk()的结果为
['dir', ['dir1', 'dir2'], ['file1.txt', 'file2.txt']]
['dir\\dir1', ['dir11', 'dir12'], []]
['dir\\dir1\\dir11', [], ['file111.txt']]
['dir\\dir1\\dir12', [], []]
['dir\\dir2', ['dir21'], ['file21.txt']]
['dir\\dir2\\dir21', [], []]
#可通过如下脚本验证
import sys
l=[]
for root,dirs,files in os.walk('dir'):
l.append(root)
l.append(dirs)
l.append(files)
print(l)
l=[]
结果分析
1.先以给定的目录作为根目录进行遍历,读取根目录的文件夹和文件
2.以根目录下子目录为新的根目录进行遍历,读取其下面的文件夹和文件
3.再以2中得到的子目录为根目录进行遍历,读取其下面的文件夹和文件
4.重复3,直至所有子目录下面没有子目录和文件
python的os模块中的os.walk()函数的更多相关文章
- python基础:os模块中关于文件/目录常用的函数使用方法
Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...
- Python OS模块中的fork方法实现多进程
import os '''使用OS模块中的fork方式实现多进程''' '''fork方法返回两次,分别在父进程和子进程中返回,子进程中永远返回0,父进程返回的是子进程的is''' if __name ...
- os模块中关于文件/目录常用的函数使用方法
os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...
- OS模块中获取当前文件的绝对路径的相关方法
os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...
- 有关文件夹与文件的查找,删除等功能 在 os 模块中实现
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
- Python的collections模块中namedtuple结构使用示例
namedtuple顾名思义,就是名字+元组的数据结构,下面就来看一下Python的collections模块中namedtuple结构使用示例 namedtuple 就是命名的 tuple,比较 ...
- Python使用functools模块中的partial函数生成偏函数
所谓偏函数即是规定了固定参数的函数,在函数式编程中我们经常可以用到,这里我们就来看一下Python使用functools模块中的partial函数生成偏函数的方法 python 中提供一种用于对函数固 ...
- 【转】在Python的struct模块中进行数据格式转换的方法
这篇文章主要介绍了在Python的struct模块中进行数据格式转换的方法,文中还给出了C语言和Python语言的数据类型比较,需要的朋友可以参考下 Python是一门非常简洁的语言,对于数据类型的表 ...
- Python 动态从文件中导入类或函数的方法
假设模块文件名是data_used_to_test.py,放在tests文件夹下 文件夹结构如下: project |-tests |-data_used_to_test.py 文件内包含一个test ...
随机推荐
- Python 全栈开发三 python基础 条件与循环
一. 条件语句 python条件语句是根据一条或多条语句的执行结果的真假(True Or False)来决定代码块的执行. 而执行内容可以多行,以缩进来区分表示同一范围. 1.Python判断条件真假 ...
- python 微信机器人,微信自动回复
使用python现成的模块 itchat,可以实现,微信机器人的自动回复 其内部原理,是模拟了web版微信的登录,然后进行消息的接收发送,并不是只能用python实现,其他后端语言都可以做到 下面是使 ...
- python demjson
这个是第三方的json库 首先安装 http://deron.meranda.us/python/demjson/ demjson-2.2.4.tar.gz #tar -xzf demjson-2.2 ...
- jQuery UI 中Tabs Ajax载入时出现Http 304的问题
最近发现jQueryUI中tabs的ajax载入,总是会出现304未修改的情况,明明数据有变化的么~应该返回200才对. 于是尝试在beforeLoad中设置: ui.ajaxSettings.cac ...
- ecshop 前台个人中心修改侧边栏 和 侧边栏显示不全 或 导航现实不全
怎么给个人中心侧边栏加项或者减项 在模板文件default/user_menu.lbi 文件里添加或者修改,一般看到页面都会知道怎么加,怎么删,这里就不啰嗦了 添加一个栏目以后,这个地址跳的页面怎么写 ...
- CentOS7.5 防火墙指令
防火墙指令 1. 查看防火墙状态: firewall-cmd --state 2. 启动防火墙 systemctl start firewalld.service 3. 关闭防火墙 systemctl ...
- 008-副文本编辑器UEditor
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- C# 图片 旋转和翻转 RotateFlip
1.Rotate90FlipX2.Rotate90FliY3.Rotate90FlipXY4.Rotate90FlipNone以上面四个为例:1是指定后接水平翻转的90度顺时针旋转,2是指定后接垂直翻 ...
- 域名重新绑定ip时访问地址NotFount404
情形描述:部署在A服务器IIS上的asp.net程序,搬迁到B服务器上,重新绑定域名和ip后.再访问网址时有些电脑能正常访问,而有些电脑报404 not found错误. 经分析发现是个人电脑网络设置 ...
- sql server case
use mytest go exec p_city 2,4 exec p_city_cnt 2,3 select stuff((select ',' + city_id from cities for ...