2. 按如下要求进行文件操作。 (1) 定义字符串s1,内容为“五星红旗!”; (2) 定义字符串s2,内容为“国旗是五星红旗,为左上角镶有五颗黄色五角星的红色旗帜,旗帜图案中的四颗小五角星围绕在一颗大五角星右侧呈半环形。红色的旗面象征革命,五颗五角星及其相互联系象征着。该旗的设计者是曾联松,是一名来自浙江瑞安的普通工人。” (3) 编写程序,在工作目录中创建一个文件“flag.txt”,将上述字符串编辑为如下内容写入文件。 (4) 修改程序,添加一个函数,在一个文件中查找给定字符串: find_word_in_file(filename, word) 如果找到,返回True;否则False。 调用这个函数在文件“flag.txt”中查找“五星红旗”、“大五角星”、“小五角星”、“党徽”,若查找成功,则将其写入文件末尾。
时间: 2023-07-14 20:12:42 浏览: 92
代码如下:
```python
def find_word_in_file(filename, word):
with open(filename, 'r') as f:
for line in f:
if word in line:
return True
return False
s1 = "五星红旗!"
s2 = "国旗是五星红旗,为左上角镶有五颗黄色五角星的红色旗帜,旗帜图案中的四颗小五角星围绕在一颗大五角星右侧呈半环形。红色的旗面象征革命,五颗五角星及其相互联系象征着。该旗的设计者是曾联松,是一名来自浙江瑞安的普通工人。"
filename = "flag.txt"
with open(filename, 'w') as f:
f.write(s1 + "\n" + s2)
words = ["五星红旗", "大五角星", "小五角星", "党徽"]
found_words = []
for word in words:
if find_word_in_file(filename, word):
found_words.append(word)
if found_words:
with open(filename, 'a') as f:
f.write("\nFound words: " + ", ".join(found_words))
```
运行以上代码,会在工作目录中创建一个名为“flag.txt”的文件,并在文件中写入字符串s1和s2。然后程序会在文件中查找指定的关键词,找到的关键词将被写入文件末尾。
阅读全文