4.编写一个程序,要求用户输入一个文件夹路径和一个关键词,程序需要在该文件夹下的所有文件中查找该关键词,并返回包含该关键词的文件名。
时间: 2023-06-25 22:04:05 浏览: 95
以下是 Python3 代码实现:
```python
import os
folder_path = input("请输入文件夹路径:")
keyword = input("请输入关键词:")
# 判断文件夹是否存在
if not os.path.exists(folder_path):
print("文件夹不存在!")
else:
# 遍历文件夹下所有文件
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
# 判断文件是否包含关键词
if keyword in open(file_path, "r", encoding="utf-8").read():
print(file_path)
```
程序首先要求用户输入文件夹路径和关键词,然后使用 `os.walk` 遍历文件夹下所有文件,并逐个打开文件判断是否包含关键词,如果包含则打印文件路径。需要注意的是,在打开文件时需要指定编码方式,这里使用了 UTF-8 编码。
相关问题
4. 编写一个程序,要求用户输入一个文件夹路径和一个关键词,程序需要在该文件夹下的所有文件中查找该关键词,并返回包含该关键词的文件名
以下是Python代码实现:
```python
import os
def search_keyword(folder_path, keyword):
result = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
if os.path.isfile(file_path):
with open(file_path, 'r') as f:
content = f.read()
if keyword in content:
result.append(file_path)
return result
if __name__ == '__main__':
folder_path = input("请输入文件夹路径:")
keyword = input("请输入关键词:")
result = search_keyword(folder_path, keyword)
if len(result) > 0:
print("包含关键词的文件有:")
for file_path in result:
print(file_path)
else:
print("该文件夹下没有包含关键词的文件!")
```
程序首先让用户输入文件夹路径和关键词,然后使用`os.walk`遍历该文件夹下的所有文件,使用`open`打开每个文件,读取文件内容,如果文件内容包含关键词,则将该文件路径加入结果列表中。最后,程序输出所有包含关键词的文件路径。
编写一个程序,要求用户输入一个文件夹路径和一个关键词,程序需要在该文件夹下的所有文件中查找该关键词,并返回包含该关键词的文件名
以下是 Python 代码实现:
```python
import os
def search_files(folder_path, keyword):
"""
在指定文件夹下查找包含关键词的文件并返回文件名列表
"""
file_list = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
if os.path.isfile(file_path):
with open(file_path, 'r') as f:
content = f.read()
if keyword in content:
file_list.append(file_path)
return file_list
if __name__ == '__main__':
folder_path = input('请输入文件夹路径:')
keyword = input('请输入关键词:')
files = search_files(folder_path, keyword)
if len(files) == 0:
print('没有找到包含关键词的文件')
else:
print('包含关键词的文件有:')
for file in files:
print(file)
```
该程序首先定义了一个 `search_files` 函数,用于在指定文件夹下查找包含关键词的文件并返回文件名列表。函数中使用了 `os.walk` 函数遍历文件夹下的所有文件,对于每个文件,先判断是否为文件(不是文件夹),然后打开文件并读取内容,在其中查找关键词。如果找到了包含关键词的文件,将文件路径添加到文件名列表中。最后返回文件名列表。
在程序主体中,先让用户输入文件夹路径和关键词,然后调用 `search_files` 函数查找包含关键词的文件。如果没有找到,则输出提示信息;否则,输出所有包含关键词的文件名。
阅读全文