python遍历所有目录下的所有文件,查找与文件名匹配的文件
时间: 2023-11-24 17:05:30 浏览: 37
可以使用Python的os模块和re模块来实现。
示例代码如下:
```python
import os
import re
def search_files(root_path, pattern):
"""
遍历root_path目录下的所有文件,查找与pattern匹配的文件
:param root_path: 搜索的根目录
:param pattern: 匹配的正则表达式
:return: 匹配的文件列表
"""
file_list = []
for root, dirs, files in os.walk(root_path):
for file in files:
if re.match(pattern, file):
file_list.append(os.path.join(root, file))
return file_list
```
其中,os.walk()函数可以遍历root_path目录下的所有文件和子目录,返回一个三元组(root, dirs, files),分别表示当前遍历到的目录、当前目录下的子目录列表和当前目录下的文件列表。通过os.path.join()函数可以将当前目录和文件名拼接成完整的路径。使用re模块的match()函数可以判断文件名是否与pattern匹配。最后将匹配的文件路径添加到file_list中并返回。
相关问题
python 遍历文件下所有excel文件,获取他们的文件名和地址
可以使用Python中的os和glob模块来实现遍历文件夹下所有Excel文件并获取它们的文件名和地址,具体代码如下:
```python
import os
import glob
# 文件夹路径
folder_path = 'your/folder/path'
# 查找文件夹下所有Excel文件
excel_files = glob.glob(os.path.join(folder_path, '*.xlsx'))
# 遍历所有Excel文件并获取文件名和地址
for excel_file in excel_files:
print('文件名:', os.path.basename(excel_file))
print('地址:', os.path.abspath(excel_file))
```
其中,使用os.path.join()函数可以将文件夹路径和通配符组合成完整的文件路径,glob.glob()函数可以获取所有匹配的文件路径。在遍历文件时,使用os.path.basename()函数可以获取文件名,使用os.path.abspath()函数可以获取文件的绝对路径地址。
python遍历目录查找文件
可以使用os模块中的walk函数来遍历目录,然后使用fnmatch模块中的fnmatch函数来匹配文件名。具体代码如下:
```python
import os
import fnmatch
def find_files(directory, pattern):
for root, dirs, files in os.walk(directory):
for basename in files:
if fnmatch.fnmatch(basename, pattern):
filename = os.path.join(root, basename)
yield filename
```
其中,directory为要遍历的目录,pattern为要匹配的文件名模式,例如'*.txt'。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)