在Python中管理文件内的文本

时间:2013-11-07 05:57:27

标签: python file ubuntu text copy

假设我有两个txt文件,in.txtout.txt

in.txt

Mary is Passed 
Jane is Failed

out.txt

Status of Mary: 'N/A'
Status of Jane: 'N/A'

我想要编写读取in.txt的Python代码,并将“N / A”替换为Mary的PassedFailed替换Jane的out.txt

我可以设法写在out.txt行的末尾但不是'N / A'

2 个答案:

答案 0 :(得分:0)

请在相关问题上查看我的回答:Deleting a line in a file

基本上,编辑文件中间的字节并不好玩。你应该只读取内存中的文件,如果它不是太大就覆盖它,或者如果它真的很大,可以使用类似tempfile的文件。

答案 1 :(得分:0)

import re

...

outf = open('myout', 'r+')
inf = open('infile', 'r')
outdata = outf.read()
for line in inf:
    outdata = re.sub("(?<=Status of %s: )'N/A'" % line.strip().split()[0], line.strip().split()[2], outdata)
outf.write(outdata)
outf.close()
inf.close()