Lucca Zenobio
Lucca Zenobio

Reputation: 302

Writing before specific line python

i have this piece of code:

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

i want to write some text lines in the file right before "line" (the one printed) how can i do that?

Thanks

Upvotes: 0

Views: 1669

Answers (1)

Reut Sharabani
Reut Sharabani

Reputation: 31339

This script appends to every lien containing the string Gandalf a new string 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()

Upvotes: 4

Related Questions