0

ファイルを更新しようとしていますが、特定の行だけです。たくさんの行があり、ファイル全体を書き換えて更新したくありません。元。4k 行のうち、n 番目の項目の 5 項目を変更する必要があります

この質問に対するほとんどの回答では、2 つのファイルを使用するか、完全に書き直しています。これには、プロセスの最後にファイル全体を書き込むことなく、一度に 1 行ずつ攻撃できる、より効果的なコマンドがあるかどうか疑問に思っています。可能な方法がない場合、最も効率的な方法は何ですか。

私はPython 2.7を使用しました

4

1 に答える 1

0

問題は、ディスク上のファイルが単なる一連のバイトであることです。そして、インテリジェントに保存された一連のではありません。つまり、ファイルに含まれるバイト数がその操作の後も変わらない場合に限り、ファイルの n 番目の行を変更できます。

csv 形式で、これらの行の一部として任意の量の重要でない空白を含めることができる場合は、書き込む可能性のあるデータを保持するのに十分な大きさにすることができます (たとえば、十分な大きさの固定行サイズ)。その後、ファイル全体を書き換えることなく単一行を更新できます。ただし、以前のコンテンツ (存在する場合) を上書きすることを確認する必要があります。

于 2012-09-27T19:31:09.137 に答える