【发布时间】:2018-01-24 14:39:25
【问题描述】:
我使用 python 打开文件并替换特定的正则表达式模式。 我有一个文件列表,以及需要审查的模式/字符串列表。
目前,我正在迭代每个文件和每个文件中的每一行,检查模式是否匹配,如果是,请替换它:
# Removing all IP and patterns
for logPath in createdLogs:
file = fileinput.FileInput(logPath, inplace=True)
for line in file:
line = re.sub("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",
"XXX.XXX.XXX.XXX",
line.rstrip()) # Censoring IPs
for pattern in patterns:
line = re.sub(pattern, "HIDDEN-TEXT", line.rstrip()) # Censoring other patterns
print line
file.close()
问题是效率。当迭代超过 5 个文件(大约 15-20 个)时,此代码需要很长时间才能运行。
对于执行相同过程的更有效方法有什么建议吗?
【问题讨论】:
-
我建议您分析您的代码以找出瓶颈所在。