添加一个函数,在一个文件中查找给定字符串: find_word_in_file(filename, word) 如果找到,返回True;否则False。 调用这个函数在文件“flag.txt”中查找“五星红旗”、“大五角星”、“小五角星”、“党徽”,若查找成功,则将其写入文件末尾。
时间: 2023-06-25 20:06:35 浏览: 139
下面是实现该功能的Python代码:
```python
def find_word_in_file(filename, word):
with open(filename, 'r', encoding='utf-8') as f:
for line in f:
if word in line:
return True
return False
words = ["五星红旗", "大五角星", "小五角星", "党徽"]
found_words = []
for word in words:
if find_word_in_file("flag.txt", word):
found_words.append(word)
if found_words:
with open("flag.txt", 'a', encoding='utf-8') as f:
f.write("找到的词汇:")
f.write(",".join(found_words))
f.write("\n")
```
首先定义了一个名为`find_word_in_file`的函数,该函数接受两个参数:文件名和要查找的字符串。函数打开文件并逐行查找,如果找到了该字符串,返回True;否则返回False。
然后定义了一个包含要查找的字符串的列表`words`,以及一个空列表`found_words`,用于存储找到的字符串。接下来,对于每个字符串,调用`find_word_in_file`函数进行查找,如果找到了该字符串,将其添加到`found_words`中。
最后,如果`found_words`非空(即找到了至少一个字符串),就将所有找到的字符串写入文件末尾。写入的内容格式为“找到的词汇:五星红旗,大五角星,小五角星,党徽”。注意,此处使用`join`方法将所有找到的字符串以逗号分隔并拼接成一个字符串。
阅读全文