在特定的行python之前写

时间:2014-12-13 23:00:45

标签: python file

我有这段代码:

asm = open(infile)
asmw = open(outfile, "w")
shutil.copyfile(infile, outfile)
for x in range(0, 8):
    xorreg.append("xor " +  reg[x] + ", " +  reg[x])
for line in asm:
    if any(s in line for s in xorreg):
    found += line.count(xorreg[x])
    print line

我想在“line”(打印的那个)之前的文件中写一些文本行 我怎样才能做到这一点?

由于

1 个答案:

答案 0 :(得分:4)

此脚本追加到包含字符串Gandalf的每一行新字符串The greatest wizard of all times was:

# show what's in the file
with open("some_file.txt", 'r') as f:
    print f.read()

new_content = []
with open("some_file.txt", "r") as asmr:
    for line in asmr.readlines():
        if "Gandalf" in line:
            # we have a match,we want something but we before that...
            new_content += "The greatest wizard of all times was:"
        new_content += line

# write the file with the new content
with open("some_file.txt", "w") as asmw:
    asmw.writelines(new_content)

# show what's in the file now
with open("some_file.txt", 'r') as f:
    print f.read()