假设我有两个txt文件,in.txt
和out.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的Passed
,Failed
替换Jane的out.txt
。
我可以设法写在out.txt
行的末尾但不是'N / A'
答案 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()