【发布时间】:2010-06-14 20:30:40
【问题描述】:
这里是初学者!提前原谅我提出了一个可能非常简单的问题。
我一直在尝试编写一个 Python 脚本,该脚本在指定的纯文本文件上运行多个查找和替换操作以及一些类似的操作。它有效,但从编程的角度来看,我怀疑它是否有效。我将如何最好地优化对“outtext”变量所做的操作?目前它基本上做了四次非常相似的事情......
import binascii
import re
import struct
import sys
infile = sys.argv[1]
charenc = sys.argv[2]
outFile=infile+'.tex'
findreplace = [
('TERM1', 'TERM2'),
('TERM3', 'TERM4'),
('TERM5', 'TERM6'),
]
inF = open(infile,'rb')
s=unicode(inF.read(),charenc)
inF.close()
# THIS IS VERY MESSY.
for couple in findreplace:
outtext=s.replace(couple[0],couple[1])
s=outtext
for couple in findreplace:
outtext=re.compile('Title: (.*)', re.I).sub(r'\\title'+ r'{\1}', s)
s=outtext
for couple in findreplace:
outtext=re.compile('Author: (.*)', re.I).sub(r'\\author'+ r'{\1}', s)
s=outtext
for couple in findreplace:
outtext=re.compile('Date: (.*)', re.I).sub(r'\\date'+ r'{\1}', s)
s=outtext
# END MESSY SECTION.
outF = open(outFile,'wb')
outF.write(outtext.encode('utf-8'))
outF.close()
【问题讨论】:
-
感谢大家的帮助!我现在把它剪得很好!
-
@SilentGhost,我认为这是一个后续问题,而不是重复问题。
标签: python optimization