8.2疯狂填词
创建一个疯狂填词程序,它将读入文本文件,并让用户在该文本文件中出现ADJECTIVE,NOUN,ADVERB或VERB等单词的地方,加上他们自己的文本
import re insertWord = open('D:\\python\\panda.txt') content = insertWord.read() insertWord.close() contentList = content.split(' ') regex = re.compile(r'[A-Z.]{4,}') temp = regex.findall(content) for i in temp: subWord = input('please inset a '+i+":") contentList[contentList.index(i)] = subWord result = ' '.join(contentList) print(result) saveR = open('D:\\python\\panda.txt','w') saveR.write(result) saveR.close()
8.3正则表达式查找
编写一个程序,打开文件夹中所有的.txt文件,查找匹配的用户提供的正则表达式的所有行。结果应该打印在屏幕上。
import re, os # 打开.txt path = 'E:\\MyScript' fileNameList = os.listdir(path) for fileNameString in fileNameList: mo = re.compile(r'.+\.txt$').search(fileNameString) if mo == None: continue else: txtFileString = open(os.path.join(path, mo.group())).read() # 匹配正则表达式 resultList = re.compile(r'\d{3}').findall(txtFileString) print('\n'.join(resultList))