如何使用fileinput替换python中文件中特定行的字符串

时间:2016-10-12 14:22:18

标签: python python-2.7

我需要使用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

0 个答案:

没有答案