python编写一个程序,要求用户输入一个文件夹路径和一个关键词,程序需要在该文件夹下的所有文件中查找该关键词,并返回包含该关键词的文件名。
时间: 2024-05-03 11:17:15 浏览: 82
python 查找文件夹下所有文件 实现代码
可以使用Python的os和re模块来实现这个程序。具体代码如下:
```python
import os
import re
def search_files(path, keyword):
# 获取该文件夹下所有文件名
file_list = os.listdir(path)
# 用于存储包含关键词的文件名
result = []
# 遍历所有文件
for file in file_list:
# 如果是文件夹,递归调用函数
if os.path.isdir(os.path.join(path, file)):
result.extend(search_files(os.path.join(path, file), keyword))
# 如果是文件,打开文件查找关键词
elif os.path.isfile(os.path.join(path, file)):
with open(os.path.join(path, file), 'r', encoding='utf-8') as f:
content = f.read()
# 使用正则表达式查找关键词
if re.search(keyword, content):
result.append(file)
return result
path = input("请输入文件夹路径:")
keyword = input("请输入关键词:")
result = search_files(path, keyword)
print("包含关键词的文件名:")
for file in result:
print(file)
```
该程序会先获取用户输入的文件夹路径和关键词,然后使用os模块获取该文件夹下的所有文件名。接着遍历所有文件,如果是文件夹则递归调用函数,如果是文件则打开文件查找关键词。查找关键词使用了re模块的正则表达式功能。最后返回包含关键词的文件名列表并输出。
阅读全文