これは、2つのテキストファイルPythonでどのシークモードを使用して上書きせずに書き込むのですか?
1)foo.txtのがありますが
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()
私のコードです -
hi
hello
2が含まれています)空のファイル
あるwrite.txtそれはチェックa [i]こんにちは、こんにちは、このコードステートメントを実行します
それはHIであるとして、それは-3端からポインタを移動しますますHI を[I]を有していることが確認その後そこで、write.txtこの
how
are
you
ようになります出力は
How
are
always
not
you
ようにする必要があり
fo1.write('\nalways\nnot\n');
このコード文を書きます
しかし、私が手電流出力は
How
are
always
not
である上記の出力は「あなた」を持っているが、私は、追記書き込みモードを試してみました、予想される出力はこの
How
are
always
not
you
ある を削除しましたどちらも同じです
だから、どのように上書きせずに書き込むことができますか?
テキストエディタとMicrosoft Wordでの経験から期待されることにもかかわらず、ファイル書き込み用の「挿入モード」はありません。 – user2357112
実際、ドキュメントの下部をキャッシュし、新しいテキストを追加してもう一度貼り付けることをお勧めします。しかし、これは大きなファイルでは遅くなります。 – Rockybilly