目標巨大バイナリファイルのおおよそのサイズ1.3ギガバイトで変更特定のインデックス
読み取りおよび特定のビットと、その後(元のファイルを変更できない)別個のファイルに書き戻すを変更します。
私はそれが私のpythonを使用していますので、不変であるHEXフォーマットでエンコードされた大規模な文字列に格納されますバイナリファイルを読み込む方法
。
私のアルゴリズムはファイル全体をループし、変更が必要な文字列のすべてのインデックスをリストに格納します。 catchは、文字列内のすべてのインデックスを同じ値に変更する必要があるということです。私は不変の性質のためにこれを行うことはできません。私はこれを文字のリストに変換することはできません。なぜならそれは私の記憶の制約を吹き飛ばして、大変な時間を要するからです。実行可能なことは別の文字列に格納することですが、不変の性質のために文字列オブジェクトを大量に作成し、それらに連結し続ける必要があります。
私はhttps://waymoot.org/home/python_string/からいくつかのアイデアを使用しましたが、それは私に良いパフォーマンスを与えるものではありません。任意のアイデア、目標はインデックスリストの値によって決定される特定のプレースホルダを除いて、既存のスーパーロングストリングを別のものに正確にコピーすることですか?
代替品は元のサイズと同じですか?私はあなたがファイルの位置を探して、ディスク上の場所に書き込むことができます。 –
あなたは "それを書き戻す"と言うが、私の答えのコメントには "制約は元のファイルを変更しない"と言っている。それは矛盾です。 –
質問の編集 - あいまいさの申し訳ございません –