python在文件中查找多个关键字
时间: 2023-06-12 14:06:20 浏览: 213
你可以使用Python的文件I/O和字符串操作功能来查找多个关键字。以下是一种可能的解决方案:
```python
def find_keywords(filename, keywords):
with open(filename, 'r') as f:
content = f.read()
for keyword in keywords:
if keyword in content:
print(f"Found '{keyword}' in file '{filename}'")
```
在上面的代码中,`filename`是要搜索的文件名,`keywords`是一个包含要搜索的关键字的列表。函数打开文件并将其内容读入变量`content`中。接下来,它遍历关键字列表并在`content`中查找每个关键字。如果找到关键字,则打印出该关键字和文件名。
你可以调用这个函数来查找一个或多个文件中的多个关键字。例如:
```python
keywords = ['python', 'file', 'search']
find_keywords('myfile.txt', keywords)
```
这将在`myfile.txt`文件中搜索`'python'`、`'file'`和`'search'`关键字,并打印出找到的关键字和文件名。
相关问题
python提取文件名多个关键字查找文件夹内是否存在
在Python中,你可以使用`os`模块配合正则表达式(`re`模块)来遍历文件夹并检查是否包含特定的关键字。这里是一个简单的示例:
```python
import os
import re
def search_files_in_folder(folder_path, keywords):
# 定义一个函数来查找文件
def find_files_with_keywords(directory, keyword_list):
for root, dirs, files in os.walk(directory):
for file in files:
if any(keyword in file for keyword in keyword_list):
full_path = os.path.join(root, file)
yield full_path
# 文件夹路径和关键词列表
folder = folder_path
key_words = ['keyword1', 'keyword2', 'keyword3'] # 替换为你需要查找的关键字
# 使用生成器寻找匹配的文件
matching_files = find_files_with_keywords(folder, key_words)
# 检查是否存在匹配文件
exists = [file for file in matching_files if os.path.exists(file)]
return exists
# 调用这个函数,并查看结果
folder_to_search = '/path/to/your/folder'
keywords_to_find = ['example', 'test'] # 替换成你需要搜索的关键字
result = search_files_in_folder(folder_to_search, keywords_to_find)
if result:
print(f"找到含有关键字的文件:{result}")
else:
print("没有找到含有关键字的文件.")
python提取文件名多个关键字查找文件夹内是否存在并打印
在Python中,你可以使用`os`和`fnmatch`模块来遍历文件夹并查找包含特定关键字的文件名。以下是一个简单的示例,展示如何提取文件名中包含多个关键字的文件:
```python
import os
import fnmatch
def search_files(directory, keywords):
# 指定要搜索的目录
for root, dirs, files in os.walk(directory):
# 遍历每个文件
for file in files:
# 使用fnmatch检查文件名是否匹配所有关键字
if all(fnmatch.fnmatch(file, f'*{keyword}*') for keyword in keywords):
print(f"找到文件:{os.path.join(root, file)}")
# 定义关键词列表
keywords = ['关键字1', '关键字2']
# 搜索当前工作目录下符合条件的文件
search_files('.', keywords)
```
这个脚本会递归地搜索指定的目录`directory`,如果文件名包含了所有的关键字,就会打印出该文件的完整路径。
阅读全文