這是我的代碼python中的seek模式用於寫入而不覆蓋?
fo = open("foo.txt", "r")
a = fo.readlines();
fo1 = open("write.txt", "w")
j=len(a)
print j
i=0
while i < j:
if (a[i] == "hi\n"):
fo1.write('hi\nhow\nare\nyou');
if (a[i] == "hello\n"):
fo1.seek(-3, 2)
fo1.write('\nalways\nnot\n');
i += 1
fo.close()
fo1.close()
有兩個文本文件
1)foo.txt的 - 包含
hi
hello
2)write.txt是空白文件
它檢查a [i]打招呼,因爲它是你好,它會執行這個語句的代碼
fo1.write('hi\nhow\nare\nyou');
所以,write.txt會是這樣
how
are
you
之後,它會檢查它有[i]爲喜 ,因爲它是喜,它將從端將指針移動到-3和將寫這個代碼語句
fo1.write('\nalways\nnot\n');
輸出應該像
How
are
always
not
you
但電流輸出我得到的是
How
are
always
not
以上輸出已經得到了「你」刪除 預期輸出是這
How
are
always
not
you
我沒試過追加寫模式,兩者都是一樣的
因此,我如何寫而不覆蓋?
儘管您可能會對文本編輯器和Microsoft Word的體驗有所期待,但是沒有用於文件編寫的「插入模式」。 – user2357112
事實上,您最大的希望就是緩存文檔的底部,添加新文本並重新粘貼。但是,這對大文件來說會很慢。 – Rockybilly