2012-09-12 142 views
2

我需要在文本文件的每行末尾寫入()文本。如何將光標指向特定行的末尾。Python將光標移動到.txt行的末尾

注意:seek(0,2)將把我放在文件的末尾,但我需要每行的結尾。

感謝幫助傢伙 - 我結合你的解決方案,以實現我需要什麼:

AllLines = [ (str.rstrip('\n') + 'Val2' + "\n") for str in AllLines ] 

然後我就可以寫AllLines到一個新的輸出文件。

+0

您是否在每行的末尾寫入相同的文本? –

+3

你想覆蓋字符或插入新字符嗎?恐怕你不能做後者,至少不能在所有事情都會轉移的地方。 – DSM

+0

Thx喬蘭。我試圖在每行的末尾寫入()不同的文本。該文本取決於該行內的另一個值。 –

回答

2
new_lines = [] 
with open("my_file") as f: 
     new_lines = [line.strip("\n")+"some_ending_stuff" for line in f] 
with open("my_file","w") as f: 
     f.write("\n".join(new_lines)) 

這樣的事情應該工作

+1

您可以將「some_ending_stuff」更改爲像make_ending_stuff(line)這樣的函數,我相信這將滿足OP需要動態添加特定行結束的內容。 – selllikesybok

3

你需要做這兩個步驟。由於創建新文件更安全,因此您可以:

with open("input.txt") as infile, open("output.txt", "w") as outfile: 
    for line in infile: 
     outfile.write(line.rstrip("\n") + "added text\n") 
相關問題