编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径
时间: 2023-03-13 20:26:07 浏览: 87
可以使用Python的os模块来实现,示例代码如下:import os target_str = 'example'for root, dirs, files in os.walk('.'):
for file in files:
if target_str in file:
print(os.path.join(root, file))
相关问题
编写目录遍历程序,指定目录,遍历该目录及子目录下所有文件,并按行打印文件名;
该问题需要用Python编写程序,可以使用os模块中的walk函数来遍历指定目录下的所有文件和子目录,然后打印出该目录及其子目录下的所有文件名。具体操作步骤如下:
1.导入os模块
import os
2.指定目录路径
dir_path = "指定目录路径"
3.调用os.walk()函数遍历目录及其子目录下的所有文件和文件夹
for root, dirs, files in os.walk(dir_path):
for file_name in files:
#打印文件名
print(os.path.join(root,file_name))
最后,执行该程序即可打印出指定目录下的所有文件名。
python实现当前目录下所有文件是否包含指定字符串,包含显示内容并且显示文件名和行号
可以使用Python自带的文件处理模块os和re来实现该功能。具体步骤如下:
1. 使用os模块的listdir函数获取当前目录下所有的文件:
```python
import os
files = os.listdir('.')
```
2. 对于每个文件,使用Python自带的文件处理模块open函数打开文件,并逐行读取文件内容,判断是否包含指定的字符串。如果包含,则输出文件名和行号:
```python
import re
search_str = '指定字符串'
for file in files:
if os.path.isfile(file): # 判断是否为文件
with open(file, 'r', encoding='utf-8') as f:
for i, line in enumerate(f):
if re.search(search_str, line): # 判断是否包含指定的字符串
print(f'{file}: {i+1}: {line.strip()}')
```
其中,使用re模块的search函数来进行字符串匹配,enumerate函数来获取每行的行号。
以上就是实现当前目录下所有文件是否包含指定字符串的代码。需要注意的是,如果需要搜索子目录中的文件,可以使用os.walk函数来遍历目录树。