我正在閱讀並追加到正在打開的文本文件中,並且每次運行我的Python程序時都會讀取它。它基本上是一個字符串的日誌。 問題是,當我最初寫入空白文件時,必須包含action.write('\n')
以便下一行打印下一個字符串。如何附加到文件而不添加' n'?
但是,當我下次運行Python程序時讀取文件時,它會讀取「\ n」並將其連接到之前添加到列表中的元素。
這裏就是基本上發生的事情:
pc = ["121", "343", "565", "787"]
with open(r"C:\tt.txt", "r+") as act:
curr=[]
for row in act:
if row == '\n':
pass
else:
curr.append(row)
for i in pc:
act.write(i)
act.write("\n")
print curr
>> curr = ['121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n', '121\n', '343\n', '565\n', '787\n']
我真的難倒如何來解決這個問題。
如果行包含開頭或結尾的空格則無法使用此刪除最後一個字符。它們將被剝離以及換行符。 –
@MaksymPolshcha:真的!這個方法只有在沒問題的時候纔會起作用(對於問題中的行,它們可能只是數字)。 – icktoofay
@MaksymPolshcha'row.rstrip('\ n')'是最安全的,但方法仍然有效,但我們通常認爲情況並非如此,只是簡單地使用'.strip()',因爲它更快 – jamylak