一日一技:在 Python 中快速遍历文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一日一技:在 Python 中快速遍历文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1608字,纯文字阅读大概需要3分钟。
内容图文
![一日一技:在 Python 中快速遍历文件](/upload/InfoBanner/zyjiaocheng/619/e01bf76c5424470183bae4ca0cb95ca9.jpg)
一日一技:在 Python 中快速遍历文件
摄影:产品经理
厨师:产品经理
当我们要在一个文件夹及其子文件夹里面寻找特定类型的文件,我们可能会这样写代码:
- 没有子文件夹时
import os all_file = os.listdir('target_folder') target_file = [x for x in all_file if x.endswith('.py')]
- 有子文件夹时:
import os
py_files = []
for root, folder, files in os.walk('.'):
for file in files:
if file.endswith('.py'):
py_files.append(os.path.join(root, file))
print(py_files)
如果当前文件夹的结构如下所示:
.
├── 1.py
├── 2.py
├── sub
│ ├── 3.py
│ ├── subsub1
│ │ └── 4.py
│ └── subsub2
│ └── 5.py
└── test.py
那么运行结果如下图所示:
![](http://www.icode9.com/i/li/?n=4&i=images/blog/202012/03/b9dc03f23f5e4db495b9995347f4182d.png?,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
虽然确实满足要求了,但是代码还是有点复杂,而是嵌套三层缩进,代码不够美观。
实际上,要解决遍历文件的问题,只需要使用 Python 自带的 glob模块即可:
import glob
result = glob.glob('*/.py', recursive=True)
print(result)
在使用 glob模块时,第一个参数指定目标文件的文件名格式,这里可以使用 Linux 中的通配符。如果文件名写为 *.py,那么就是当前文件夹下面的所有 .py文件。
如果文件名写为 **/*.py,那么就是当前第一层子文件夹下面的所有 .py文件。
如果文件名写为 **/*.py,并且增加参数 recursive=True,那么就是递归搜索当前文件夹和所有子文件夹。
运行效果如下图所示:
![](http://www.icode9.com/i/li/?n=4&i=images/blog/202012/03/677b9b0443e4c9167fc0899c99517a18.png?,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
非常简单就实现了遍历文件夹查找文件的操作。
内容总结
以上是互联网集市为您收集整理的一日一技:在 Python 中快速遍历文件全部内容,希望文章能够帮你解决一日一技:在 Python 中快速遍历文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。