元の形式を維持しようとして、tarball を処理して新しいものを出力することになっている Python スクリプトに取り組んでいます。したがって、開いているtarballで使用されている圧縮方法を検索して、同じ圧縮で新しいtarballを開く方法を探しています。
AFAICSTarFileクラスは、必要な情報を直接取得するためのパブリック インターフェイスを提供しません。また、tarfile モジュールとは別にファイルを読み取ることは避けたいと思います。
現在、基になるファイル オブジェクト ( t.fileobj.__class__) のクラスを検索するか、可能なすべてのモードで入力ファイルを開いて、成功する形式に基づいて正しい形式を選択することを検討しています。