2017-10-17 64 views
0

我想創建一個可以更新文件的程序。 我創建了一個測試程序,因爲我無法弄清楚如何更新文件的一部分。如何更新python文件中的特定行?

我想讓它如此,以便如果名稱與文件中的名稱匹配,它將刪除一個名稱及其數據,並將名稱和新數據放在末尾。

這裏是我的代碼中,我只是想從列表中刪除名稱:

lines = open("input.txt", "rt") 
output = open("output.txt", "wt") 
for line in lines: 
    if not "Ben": 
     output.write(line+"\n") 
lines.close() 
output.close() 
+1

條件'不是「本」將總是評估爲「假」。它接受字符串「Ben」並將其轉換爲「bool」,結果爲「True」,因爲該字符串非空; 「不」會導致否定「真」,產生「假」。 –

回答

1

看起來像你只需要修復您的條件:

lines = open("input.txt", "rt") 
output = open("output.txt", "wt") 
for line in lines: 
    if "Ben" not in line: 
     output.write(line+"\n") 
lines.close() 
output.close() 
+1

這通常在Python中寫成「Ben」不在行中。它完全等同,但在閱讀時與英語更相似。 –

+0

正確,我會編輯這個。 –

0
lines = open("input.txt", "rt") 
output = open("output.txt", "wt") 
for line in lines: 
    if not "Ben" in line: 
     output.write(line+"\n") 
    else: 
     output.write(line.replace("Ben","replace/delete Ben")+"\n") 
lines.close() 
output.close() 
+0

他想在文件末尾添加新行,因此不應將其包含在此處。 –

相關問題