2017-11-14 9 views
-1

これが尋ねられました。しかし、答えは私の状況や私が達成しようとしていることを支持しません。Python 3+テキストファイルの行を編集するには

更新する必要があるテキストファイルは100個あります。私は各ファイルの同じ1行を更新する必要があります。私はテキストファイルを開き、1行だけを変更したい。私はwrite()やwritelines()を使ってテキストファイルを書き直したくありません。 fileinput.input()も、print文を使ってテキストファイルを書き直しているので、使いたくありません。

ファイルには何千もの重要なデータが含まれているため、ファイル内のすべてをPythonが正しく再作成するとは信じられません。フッターデータに関連するいくつかの行が重要ではなく、それが私が更新しているものです。

ファイルを再作成することなく、テキストファイル内の1行を更新する方法を教えてください。テキストに1行追加することが可能でなければなりません。事前

+1

前後の行の長さは同じになりますか? – SethMMorton

+1

ファイルを書き換えようとすると、ファイルを正しい場所に変更しようとするよりも安全です。両方のファイルでクリティカルデータが同一で​​あることを確認することもできます。 – pvg

+1

ファイル内の文字は、明確な位置を持つバイトです。ファイルの途中にコンテンツを挿入する場合は、既存のコンテンツを上書きするか、または次のバイトごとに新しい位置に移動する必要があります。あなたの声明「私はPythonがすべてを正しく再現するとは信じられません」を理解していません。なぜこのことが懸念されるのか分かりません。 – sytech

答えて

-1

おかげで私は、これは、ファイルレベルでの任意のプログラミング言語では可能ではないと思います。ファイルは単純にそのようには機能しません。特に、テキストの中心にある異なる長さのデータで置き換えられる可能性が高いファイルです。 rawディスクレベルのアクセスが必要になります(これは愚かな困難な問題になります)。

あなたが本当にそれを追求したい場合は、ここでは、rawディスク疑問チェック:EVEN THEN

Is it possible to get writing access to raw devices using python with windows?

を:私は、データの少なくともブロック全体から読み込まれますいくつかのレベルではかなり確信していますドライブと再書き込み(これは私が思い出すと物理的にどのようにドライブが動作するか)です。

関連する問題