題目
編寫一個程序,打開文件夾中所有的.txt 文件,查找匹配用戶提供的正則表達式的所有行。結果應該打印到屏幕上。
代碼
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 編寫一個程序,打開文件夾中所有的.txt文件,查找匹配用戶提供的正則表達式的所有行。結果應該打印到屏幕上
import re
import os
import sys
cwd = os.getcwd()
txtDirList = []
# 查找匹配的文件,並存入列表
regex1 = re.compile(r'\.txt$')
for x in os.listdir(cwd):
if regex1.search(x):
txtDirList.append(x)
print(txtDirList)
# 根據傳入的參數來匹配需要行
print(sys.argv[1])
regex2 = re.compile(sys.argv[1])
txtLineList = []
for x in txtDirList:
with open(x, 'r', encoding='UTF-8') as txtFile:
txtLineList = txtFile.readlines()
for y in txtLineList:
if regex2.search(y):
print(y + '\n')