把列表内的中文语句中关键词标为红色,并把之后的有红色关键词的列表放在一个file里面,Python代码
时间: 2024-09-10 17:28:27 浏览: 42
要实现这样的功能,你可以使用Python编写一个简单的脚本。以下是一个基本的示例代码,它会读取文本文件中的每一行,将中文语句中的关键词标为红色,并将有红色关键词的语句保存到一个新的文件中。
```python
import re
# 假设关键词是从命令行参数传入
import sys
keywords = sys.argv[1:] # 获取命令行中所有关键词参数
def highlight_keywords(text, keywords):
for keyword in keywords:
text = re.sub(r'({})'.format(re.escape(keyword)), r'\033[91m\1\033[0m', text)
return text
def process_text_file(input_file_path, output_file_path, keywords):
with open(input_file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
with open(output_file_path, 'w', encoding='utf-8') as file:
for line in lines:
if any(keyword in line for keyword in keywords):
file.write(highlight_keywords(line, keywords))
else:
file.write(line)
# 假设输入文件名为input.txt,输出文件名为output.txt
process_text_file('input.txt', 'output.txt', keywords)
```
在使用这个脚本之前,你需要安装Python环境,并且确保你的文本文件是UTF-8编码的。此外,你的终端或IDE必须支持ANSI颜色代码,这样才能正确显示红色文本。
请注意,这个脚本是一个简单的示例,它不包含错误处理,也没有复杂的中文处理逻辑。在实际应用中,你可能需要对中文分词和关键词匹配进行更复杂的处理,比如使用自然语言处理库如`jieba`进行中文分词。
在使用此脚本时,你需要在命令行中指定关键词,例如:
```
python script.py 关键词1 关键词2 ... 关键词N
```
确保你的关键词是中文字符。
阅读全文