第8章实践项目之疯狂填词
创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本。
首先准备一个a.txt的文本文件
程序代码如下:
#!/usr/bin/env python3.4 # coding:utf-8 # 8.9.2 import re f1 = open(‘a.txt‘,‘r‘) strf1 = f1.read() print("原文件内容为:") print(strf1) strf1_list = strf1.split(‘ ‘) f1.close() # 由于原文件需要被替换的单词都是大写的英文单词 # 使用正则表达式找出原文件中所有将被替换的单词 replist = re.findall(r‘[A-Z]{2,}‘,strf1) print("原文件中将被替换的单词为:") print(replist) print() for rep in replist: inputstr = input("Enter %s " % rep) print(inputstr) # 先将替换后的单词插入到原列表对应的位置 strf1_list.insert(strf1_list.index(rep),inputstr) # 再将原先的单词删除 strf1_list.remove(rep) # 将列表转换为字符串 newstr = ‘ ‘.join(strf1_list) print("替换后的内容为:") #print(newstr) # 将新的字符串写入文件b.txt中,并打印到屏幕 f2 = open(‘b.txt‘,‘w+‘) f2.write(newstr) f2.close() f3 = open(‘b.txt‘,‘r‘) print(f3.read()) f3.close()
输出结果为:
cat下b.txt
OK 大功告成。
时间: 2024-12-04 17:58:54