[解決済み] ファイルの先頭に行を追加する
2023-05-10 03:08:01
質問
別のファイルを使って行うことはできますが、ファイルの先頭に行を追加するにはどうすればよいのでしょうか。
f=open('log.txt','a')
f.seek(0) #get to the first position
f.write("text")
f.close()
ファイルが追記モードで開かれているため、ファイルの末尾から書き込みを開始します。
どのように解決するのですか?
モード別
'a'
または
'a+'
を指定した場合、書き込みはファイルの終端で行われます。
write()
関数が起動された時点でファイルのポインタがファイルの終端になくても、 書き込みはファイルの終端で行われます:ポインタは書き込みの前にファイルの終端に移動します。ポインタは書き込みの前にファイルの最後に移動されます。
第一の方法 ファイルをメモリに読み込むのに問題がなければ、この方法を使うことができます。
def line_prepender(filename, line):
with open(filename, 'r+') as f:
content = f.read()
f.seek(0, 0)
f.write(line.rstrip('\r\n') + '\n' + content)
第二の道 :
def line_pre_adder(filename, line_to_prepend):
f = fileinput.input(filename, inplace=1)
for xline in f:
if f.isfirstline():
print line_to_prepend.rstrip('\r\n') + '\n' + xline,
else:
print xline,
このメソッドが内部でどのように動作しているのか、また、大きなサイズのファイルに対して採用できるのかどうかはわかりません。input に渡された引数 1 は、ある行をその場で書き換えることを可能にするもので、次の行は、その場での操作が行われるように前方または後方に移動されなければなりませんが、私はそのメカニズムを知りませんでした。
関連
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] ファイルに行を書き込む正しい方法?
-
[解決済み】pythonのファイルモード "w+"に困惑。
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] Pythonの文字列書式をリストで使う
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Python Empty Generator 関数