最近、同様のファイル I/O に関する質問がたくさんあります。
つまり、新しいファイルを作成する必要があります
- 最初に、ファイルに新しい行を書き込みます
- 古いファイルから行を読み取り、ファイルに書き込みます
最初に追加された新しい行のそれぞれが、最初の対応する元の行のそれぞれよりも長いことを保証できる場合は、その場でそれを行うことができます:
f = open('file.txt','r+')
lines = f.readlines() # read old content
f.seek(0) # go back to the beginning of the file
f.write(new_content) # write new content at the beginning
for line in lines: # write old content after new
f.write(line)
f.close()
上記の例では、ファイルの内容が新しい内容で上書きされるため、ファイルの先頭にある位置をシークした後、すべてのデータを完全に書き込みます。
それ以外の場合は、新しいファイルに書き込む必要があります
f = open('file.txt','r')
newf = open('newfile.txt','w')
lines = f.readlines() # read old content
newf.write(new_content) # write new content at the beginning
for line in lines: # write old content after new
newf.write(line)
newf.close()
f.close()