gzip
Pythonのモジュールを使用してデータを圧縮することに興味があります。圧縮された出力を決定論的にしたい場合があります。これは、一般的に非常に便利なプロパティであることが多いためです。たとえば、gzipに対応していないプロセスが出力の変更を探す場合、または出力は暗号で署名されます。
残念ながら、出力は毎回異なります。私の知る限り、これの唯一の理由は、Pythonモジュールが常に現在の時刻を入力するgzipヘッダーのタイムスタンプフィールドです。タイムスタンプのないgzipストリームを実際に使用することは許可されていないと思いますが、これは残念です。
gzip
いずれにせよ、Pythonのモジュールの呼び出し元が、基になるデータの正しい変更時刻を提供する方法はないようです。(実際のgzip
プログラムは、可能な場合は入力ファイルのタイムスタンプを使用しているようです。)これは、基本的にタイムスタンプを気にするのはgunzip
、ファイルに書き込むときのコマンドだけだからだと思います。決定論的な出力が必要です。質問することはそんなにありますか?
他の誰かがこの問題に遭遇しましたか?
gzip
Pythonからの任意のタイムスタンプを持つデータへの最もひどい方法は何ですか?