我需要使用Python中的fileinput模块提供一些帮助:我需要替换部分字符串,其中包含" 1.00",' CV'。有几千行的文件,我想只对以" ATOM"开头的文件进行此操作。以下是该行的例子:
ATOM 143 CB LYS A 21 6.503 47.292 27.783 CV 13.27 C
工作完成时:
import fileinput
def replace2(fileName):
f = fileinput.input(files=fileName)
for line in f:
if line.startswith('ATOM'):
line = line.replace(line[55:60], 'CV')
f.close()
以下代码执行此任务,但不将结果保存在文件中。我该如何解决?非常感谢你的帮助!
代码:
def replace(fileName, outFile):
with open(fileName, 'r') as infile, open(outFile, 'w') as outfile :
for line in infile :
if line.startswith('ATOM'):
line = line.replace(line[55:60], 'CV')
outfile.write(line)
但是,我以其他方式做到了,这确实有效。我只是想知道文件输入是否更快,更合成。
有效的代码:
append