Python编写一个程序,要求用户输入一个文件夹路径和一个关键词,程序需要在该文件夹下的所有文件中查找该关键词,并返回包含该关键词的文件名。
时间: 2024-05-03 21:17:24 浏览: 90
可以使用Python自带的os和re模块来实现该程序。下面是一个示例代码:
```python
import os
import re
def search_files(folder_path, keyword):
file_list = os.listdir(folder_path)
result = []
for file_name in file_list:
file_path = os.path.join(folder_path, file_name)
if os.path.isfile(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
contents = f.read()
if re.search(keyword, contents):
result.append(file_name)
return result
if __name__ == '__main__':
folder_path = input('请输入文件夹路径:')
keyword = input('请输入关键词:')
result = search_files(folder_path, keyword)
if len(result) == 0:
print('未找到包含关键词的文件')
else:
print('包含关键词的文件有:')
for file_name in result:
print(file_name)
```
该程序首先使用os模块获取文件夹下的所有文件,然后遍历每个文件,使用re模块查找文件中是否包含关键词,如果包含则将该文件名添加到结果列表中。最后输出结果。需要注意的是,程序会默认使用utf-8编码读取文件,如果文件使用其他编码,需要根据实际情况修改代码。
阅读全文