一日一技:在 Python 中快速遍历文件

简介: 一日一技:在 Python 中快速遍历文件

摄影:产品经理厨师:产品经理

当我们要在一个文件夹及其子文件夹里面寻找特定类型的文件,我们可能会这样写代码:

  • 没有子文件夹时
1. import os
2. all_file = os.listdir('target_folder')
3. target_file = [x for x in all_file if x.endswith('.py')]
• 有子文件夹时:
4. import os
5. 
6. py_files = []
7. for root, folder, files in os.walk('.'):
8.     for file in files:
9.         if file.endswith('.py'):
10.             py_files.append(os.path.join(root, file))

  1. print(py_files)

如果当前文件夹的结构如下所示:

.
├── 1.py
├── 2.py
├── sub
│   ├── 3.py
│   ├── subsub1
│   │   └── 4.py
│   └── subsub2
│       └── 5.py
└── test.py

那么运行结果如下图所示:


虽然确实满足要求了,但是代码还是有点复杂,而是嵌套三层缩进,代码不够美观。

实际上,要解决遍历文件的问题,只需要使用 Python 自带的 glob模块即可:

import glob
result = glob.glob('**/*.py', recursive=True)
print(result)

在使用 glob模块时,第一个参数指定目标文件的文件名格式,这里可以使用 Linux 中的通配符。如果文件名写为 *.py,那么就是当前文件夹下面的所有 .py文件。

如果文件名写为 **/*.py,那么就是当前第一层子文件夹下面的所有 .py文件。

如果文件名写为 **/*.py,并且增加参数 recursive=True,那么就是递归搜索当前文件夹和所有子文件夹。

运行效果如下图所示:

非常简单就实现了遍历文件夹查找文件的操作。

目录
相关文章
|
9天前
|
移动开发 Unix Linux
Python 遍历文件每一行判断是否只有一个换行符详解
**Python 检查文件每行换行符:** 文章探讨了在Python中验证文件每行是否仅含一个换行符的需求。通过提供代码示例,展示了如何打开文件,遍历行,判断行尾的换行情况。基础实现检查`\n`,扩展版考虑了`\r\n`,并可选地将结果保存至新文件。这些功能有助于确保数据格式规范。
19 0
|
2天前
|
JSON 安全 数据格式
Python文件操作宝典:一步步教你玩转文件读写
Python文件操作宝典:一步步教你玩转文件读写
|
2天前
|
Python
python搭建文件服务
python搭建文件服务
7 1
|
4天前
|
安全 测试技术 Python
Python类中的Setter与Getter:跨文件调用的艺术
Python类中的Setter与Getter:跨文件调用的艺术
11 3
|
4天前
|
前端开发 API Python
如何在Python中接收前端POST上传的文件
如何在Python中接收前端POST上传的文件
9 2
|
4天前
|
机器学习/深度学习 数据处理 索引
Python遍历矩阵的技巧与实践
Python遍历矩阵的技巧与实践
15 2
|
3天前
|
Python
python之字符串定义、切片、连接、重复、遍历、字符串方法
python之字符串定义、切片、连接、重复、遍历、字符串方法
6 0
python之字符串定义、切片、连接、重复、遍历、字符串方法
|
1天前
|
数据库 索引 Python
Python怎么遍历字典
**Python字典遍历方法概览:** - 使用`for`循环遍历键、值或键值对。 - `items()`方法遍历键值对,适合同时访问键和值。 - `keys()`方法遍历键,`values()`方法遍历值。 - 字典推导式创建新字典,基于原字典的键值对。 - `enumerate()`结合`items()`遍历时获取索引。 - Python 2.x的`iteritems()`(Python 3.x已弃用,用`items()`替代)。 - 迭代器配合`iter()`和`next()`逐个获取键值对,节省内存。 - 回调函数自定义遍历行为,实现特定功能。
|
2天前
|
数据安全/隐私保护 Python
经验大分享:python读取yaml文件
经验大分享:python读取yaml文件
|
3天前
|
存储 Python
Python处理文件的常用代码
Python处理文件的常用代码

热门文章

最新文章