2013-05-18 55 views
0

我有一個文本文件,它看起來像這樣:如何更換一行文字在一個文本文件(蟒蛇)

unknown value 1 
unknown value 2 
unknown value 3 
unknown value 4 
unknown value 5 

如何選擇一條線,用另一個字符串替換它的內容是什麼?

例如:

變化unknown value 1unknown value 0

我該如何做到這一點?

回答

9

試試這個

with open('file', 'r') as input_file, open('new_file', 'w') as output_file: 
    for line in input_file: 
     if line.strip() == 'to replace': 
      output_file.write('new line\n') 
     else: 
      output_file.write(line) 
9
import fileinput 

for line in fileinput.input('inFile.txt', inplace=True): 
     print line.rstrip().replace('oldLine', 'newLine'), 

這將替換所有行與文本'oldLine',如果你想更換隻有第一個,那麼你需要添加一個條件,打破循環。

添加rstrip()可以避免每行

+0

您可能修改多條線,而不是一個單一選擇的一個後添加額外的空間。 – kampu

+0

你說得對,我加了一張紙條。 – elyase

+0

這會在每行之間添加一條新的空白行(即使沒有匹配) –