私は、いくつかの巨大なファイルのヘッダ(最初の行のみ)を更新するpythonスクリプトを書こうとしていますが、新しいヘッダは同じサイズである必要はない(バイト単位の)元のファイルとして、巨大なファイルの残りの部分に触れることなくヘッダーを変更することができますか?またはそれらをすべて読んでファイルに書き戻す必要がありますか?効率的な方法でPythonのファイルのヘッダを変更する
7
A
答えて
4
いいえ、ファイル全体に触れることなくファイルに対して実行できる操作は、truncation,replacement of same size、および追加のみです。
ただし、ファイルの比較的小さな部分をバッファリングして、メモリが枯渇しないように、現在新しい位置にあるすべてのデータを読み込んだ後に書き込むことができます。速度が問題になる場合は、mmapの使用を検討してください。
+0
ええ、私はそれが私が避けることができるものではないと思う..ありがとう皆 – John
1
私はあなたがファイルの任意のチャンクを削除できるOSに慣れていないので、Pythonはあなたにその機能を与えることはできません。私はあなたが巨大なファイルの残りの部分に触れているのではないかと心配しています。
0
ファイル全体を読み書きする必要があります。ファイルの内容の残りの部分は、ヘッダーのサイズの違いに合わせて移動する必要があるためです。
関連する問題
- 1. 効率的なcsvファイルのアップロード方法
- 2. スレッドで変数の変更をリスンするプロセッサ効率的な方法
- 3. Python:効率的な.csvファイルの読み込み方法
- 4. "計算"クラスの変更を効率的にチェックする方法
- 5. 効率的な方法でPythonのダミー変数を作成する
- 6. Pythonで2つのペアを作る効率的な方法
- 7. 変数の効率的な更新
- 8. Python dictのキーを効率的に変更する
- 9. 効率的な方法は、db2データベースの行を更新する
- 10. 私のMVCの名前を変更/リファクタリングする最も効率的な方法
- 11. Pythonの効率的なマッププロット
- 12. Pythonの効率的なシフトスケジューリング
- 13. ファイルをダウンロードするjava8ストリームの効率的な方法
- 14. GCDでファイルをコピーする最も効率的な方法は?
- 15. CMSampleBufferの内容を変更する最も効率的な方法
- 16. プライオリティキューの優先順位を変更する(効率的な方法)
- 17. ImageMagick、画像のサイズを変更する最も効率的な方法は?
- 18. 効率的な方法でPythonにjava jar出力を渡す
- 19. 効率的な方法は
- 20. は、効率的な方法
- 21. 効率的な方法
- 22. 効率的な方法は
- 23. 効率的な方法
- 24. 効率的な方法
- 25. 効率的な方法が
- 26. 効率的な方法(パイソン)
- 27. 効率的な方法
- 28. 効率的な方法
- 29. ImmutableMapを効率的に「変更する」
- 30. CGColorを効率的に変更する
ヘッドを変更した場合は、最初の行の後に残りのファイルを書き込む必要があります。これはファイルシステムの仕組みです。 –