8.9.2 疯狂填词
text.txt 内容:
The ADJECTIVE panda walked to the NOUN and then VERB. A nearby NOUN was unaffected by these events.
with open('test.txt') as file_obj:
content = file_obj.read().split()
content[content.index('ADJECTIVE')] = input('Enter an adjective: ')
content[content.index('NOUN')] = input('Enter a noun: ')
content[content.index('VERB.')] = input('Enter a verb: ') + '.'
content[content.index('NOUN')] = input('Enter a noun: ')
sentence = ' '.join(content)
print(sentence)
程序运行结果:
Enter an adjective: silly
Enter a noun: chandelier
Enter a verb: screamed
Enter a noun: pickup truck
The silly panda walked to the chandelier and then screamed. A nearby pickup truck was unaffected by these events.
Process finished with exit code 0
8.9.3 正则表达式查找
import os
import re
def search_txtfile(regular_expression, path='.'):
"""
根据用户输入的正则表达式搜索指定路径下所有文本文件,将匹配的文本打印出来
:param regular_expression: 要匹配的正则表达式
:param path: 要搜索的路径,默认为当前路径
:return:
"""
if not os.path.isdir(path):
raise Exception('路径不存在,请输入正确路径。')
elif not os.path.isabs(path):
path = os.path.abspath(path) # 转换为绝对路径
regex = re.compile(regular_expression)
for current_folder, sub_folders, file_names in os.walk(path): # 遍历文件夹下所有文件
for file_name in file_names:
if not file_name.endswith('.txt'):
continue
file_name_with_abspath = os.path.join(current_folder, file_name)
file_obj = open(file_name_with_abspath, 'r', encoding='UTF-8')
for index, line in enumerate(file_obj.readlines()):
mo = regex.search(line)
if mo is not None:
print(f'{file_name_with_abspath}, line {index + 1}: {line.rstrip()}')
file_obj.close()
search_txtfile('\\sCali.*nia')
程序运行结果
D:\Pycharm\quizGenerator\capitalsquiz01.txt, line 225: 37. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz02.txt, line 183: 30. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz03.txt, line 33: 5. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz04.txt, line 225: 37. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz05.txt, line 21: 3. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz06.txt, line 63: 10. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz07.txt, line 135: 22. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz08.txt, line 9: 1. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz09.txt, line 237: 39. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz10.txt, line 123: 20. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz11.txt, line 297: 49. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz12.txt, line 207: 34. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz13.txt, line 135: 22. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz14.txt, line 93: 15. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz15.txt, line 291: 48. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz16.txt, line 231: 38. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz17.txt, line 291: 48. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz18.txt, line 207: 34. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz19.txt, line 243: 40. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz20.txt, line 93: 15. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz21.txt, line 267: 44. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz22.txt, line 303: 50. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz23.txt, line 237: 39. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz24.txt, line 279: 46. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz25.txt, line 105: 17. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz26.txt, line 51: 8. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz27.txt, line 297: 49. What is the capital of California?
D:\Pycharm\quizGenerator\capitalsquiz28.txt, line 171: 28. What is the capital of California?
Process finished with exit code 0