2017-09-22 89 views
0

我有一個.txt文件,我想用一個字符串替換特定的行(第3行)。我不想使用一個簡單的file.replace(targetString,newString),因爲我在文件中有多個targetString,並且它們所在的順序是未知的。我知道我想要替換的字符串總是在第三行,並且它是第三行中唯一的字符串。用字符串替換文件行

目前我的代碼看起來是這樣的,我在可怕的編程,所以我會感激你能想到的

with open("LAB5INFO.txt", "r+") as file: 
    content = file.read() 
    file.seek(0) 
    file.truncate() 
    file.write(content.replace(<<LINE3>>, string)) 
+0

奧利弗喜的內容,我做你的問題進行一些更改。我將Python標籤取出標題;因爲標籤不鼓勵。更重要的是,我改變了代碼塊的間距。由於這是python,所以間距的變化很大。請編輯問題或回滾我的更改,如果您發現我所做的更改不是您編寫的代碼的真實表示。 –

+0

另外,如果你在編程時很糟糕,爲什麼不在編輯器中打開文件並更改該行? (如果您想要在批處理腳本中更改該行,通常會有腳本替代方法來執行您想要的操作。) –

回答

1

我想最簡單的答案?

with open("LAB5INFO.txt", "rb") as file: 
    lines = file.readlines() 
    lines[2].replace("old","new") 
with open("LAB5INFO.txt", "wb") as file: 
    file.write("\n".join(lines) 
0

從對方的回答借款,但在這裏,我們不需要知道原線

with open("LAB5INFO.txt", "rb") as file:lines = file.readlines() 
lines[2]="new third line" 
with open("LAB5INFO.txt", "wb") as file: file.write("\n".join(lines))