Python3:输出当前目录所有文件的第二种方式-walk()函数
上一篇,我们讲了用递归的方式输入所有文件路径,其实os还提供了一个好用的方法-walk()
简单看一下:

中文大意就是:
返回的是一个三元tupple(dirpath, dirnames, filenames),
# 其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件.
# dirpath是一个string,代表目录的路径,
# dirnames是一个list,包含了dirpath下所有子目录的名字,
# filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

搞清楚上面,实现起来就很简单的几行代码了:
path=os.getcwd()
for dirpath,dirnames,files in os.walk(path):
for file in files:
print(os.path.join(dirpath,file)) 结果:
D:\python workspace\py11\1001\test01.py
D:\python workspace\py11\1001\test02.py
D:\python workspace\py11\1001\test03.py
D:\python workspace\py11\1001\test04.py
D:\python workspace\py11\1001\test05.py
D:\python workspace\py11\1001\test06.py
D:\python workspace\py11\1001\test07.py
D:\python workspace\py11\1001\test08.py
D:\python workspace\py11\1001\__init__.py
D:\python workspace\py11\1001\py\pytest\py1\a.py
Python3:输出当前目录所有文件的第二种方式-walk()函数的更多相关文章
- linux 命令输出保存为文件的三种方式
一.ls >2.txt 将ls命令直接保存到home文件夹下的2.txt,命令窗口无显示 二.ls | tee 2.txt 也是直接保存在了home文件夹下的2.txt,命令 ...
- JS定义函数的2种方式以及区别简述(为什么推荐第二种方式)
无意中看到了阮一峰大神多年前的一篇博客: 12种不宜使用的Javascript语法 看到第9条的时候受到了启发,感觉之前没怎么理解清楚的一些问题好像突然就清晰了,如下图 可能光这样看,有些小伙 ...
- delphi之读写文件的三种方式
一.Tstrings.Tstringlist procedure TForm1.Button2Click(Sender: TObject); var strlist: TStringList; pat ...
- Java 读取 .properties 文件的几种方式
Java 读取 .properties 配置文件的几种方式 Java 开发中,需要将一些易变的配置参数放置再 XML 配置文件或者 properties 配置文件中.然而 XML 配置文件需要通过 ...
- JAVA中 PDF文件转成TIFF文件的2种方式
由于在工作中使用到了PDF->TIFF的技术,所以稍微研究了一下实现方式,通过资料查阅,暂时发现了2种方式,2种方式有所区别:第一种方式转化后的tiff文件是黑白的,第二种方式转化后的tiff文 ...
- android中解析文件的三种方式
android中解析文件的三种方式 好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
- Spring加载properties文件的两种方式
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可, ...
- PHP导出excel文件的几种方式
PHP导出excel文件的几种方式 先说说动态生成的内容当作文件来下载的方法: 1.通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来 ...
随机推荐
- vue启动时候报错
使用vue时,在已经安装模块完毕的情况下,依旧会报错,如: Module build failed: Error: %1 is not a valid Win32 application. 这个时候只 ...
- HTTPS中间人攻击实践(原理·实践)
前言 很早以前看过HTTPS的介绍,并了解过TLS的相关细节,也相信使用HTTPS是相对安全可靠的.直到前段时间在验证https代理通道连接时,搭建了MITM环境,才发现事实并不是我想的那样.由于 ...
- EasyUI的Datagrid鼠标悬停显示单元格内容
功能描述:table鼠标悬停显示单元格内容 1.js函数 function hoveringShow(value) { return "<span title='" + va ...
- Mysql 中的日期时间字符串查询
一.将数据库中的Date格式的数据,或者指定日期的字符串格式化为想要的样式 DATE_FORMAT (date, format)能根据格式串format 格式化日期或日期和时间值date,返回结果字符 ...
- Spring boot的第一个demo
由于SpringBoot的问世使开发的门槛有降低了不少,就其这一点,早已使其名声大振,如雷贯耳.我之前是使用spring开发的,刚才使用了spring boot试验了一下,果然名不虚传,开发速度贼快. ...
- elk部署之前注意事项
注意事项: 1.不能使用root用户登录,需要是用root 之外的用户登录到系统. 2.centos系统 运行内存不能小于2G,若低于2G需要修改jvm. vi {jvm_home}/config/ ...
- Virtual DOM 系列一:认识虚拟DOM
1. 什么是Virtual DOM? Virtual DOM(虚拟DOM)是指用JS模拟DOM结构.本质上来讲VD是一个JS对象,并且至少包含三个属性:tag(html标签),props(标签的属性, ...
- router-link RangeError: Maximum call stack size exceeded
报错的原因是路由不能写外部链接 写成<a href=""></a>
- JavaScript判断是否为微信浏览器或支付宝浏览器
可以用手机安装的微信和支付宝扫描下方二维码测试 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- codeforces463D
Gargari and Permutations CodeForces - 463D Gargari got bored to play with the bishops and now, after ...