2014-12-13 2 views
0

я этот кусок кода:письменной форме до определенной строки питона

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 

я хочу написать несколько строк текста в файле перед «строка» (с напечатанным) , как я могу это сделать?

Благодаря

+0

'печати "что-то еще"'? –

+0

Я имею в виду, напишите в файле –

+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() 
+0

за это. проблема в том, что я не хочу показывать файл, im показывает только строки, содержащие некоторый элемент моего массива xorreg []. и эти элементы - те, которые я хочу написать до –

+0

Что вы подразумеваете под 'show'? Вам не нужно показывать файл, это просто для тех, кто читает это, чтобы быть более четким. Вам нужно только перезаписать файл, и когда вы столкнулись с той строкой, которую хотите добавить строку раньше, вам нужно добавить новую строку и только оригинальную строку. –

+0

спасибо человеку. получил это сейчас :) –

Смежные вопросы