問題タブ [tarfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
119 参照

python - 特殊文字を含む tarfile ライブラリの使用

トルコ文字 ("ö" など) で tarfile を作成したいのですが、エラーが発生します。Windows 8.1でpython 2.7を使用しています。

これが私のコードです:

0 投票する
1 に答える
735 参照

python - tarfile.extractall() での Unicode の問題 (Python 2.7)

Windowsでpython 2.7.6を使用しており、tarfileモジュールを使用してファイルをgzipファイルに抽出しています。のmodeオプションtarfile.open()が に設定されてい"r:gz"ます。open 呼び出しの後、アーカイブの内容を 経由で印刷するとtarfile.list()、リストに次のディレクトリが表示されます。

./静态分析 Part 1.v1/

ただし、tarfile.extractall() を呼び出した後、抽出されたファイルのリストに上記のディレクトリが表示されず、代わりに次のように表示されます。

陿€åˆ†æž Part 1.v1/

アーカイブを 7zip で解凍すると、上記の最初の項目と同じ名前のディレクトリが表示されます。明らかに、extractall() メソッドが台無しになっていますが、これを修正する方法がわかりません。

0 投票する
0 に答える
492 参照

python - Tarfile 抽出パスに特殊文字を含めることはできません

tarfile を独自のパスに抽出したいのですが、ファイルのパスに特殊文字 (ö など) が含まれている場合。

抽出パスを指定しないと、tarfile がプロジェクト ディレクトリに抽出されます。

これが私のコードです:

tar.extractall(path=dirname)行で次のエラーが発生します。

次のようにパス変数をエンコードしようとしました:

エンコード後、コードはエラーなしで機能します。ただし、tarfile はsomefolder*フォルダーに抽出されます。somefolderöに抽出したい。

つまり、öはöになります。

Windows 8.1でpython 2.7を使用しています。

0 投票する
1 に答える
1002 参照

python - tarfile.extract() を使用するとエラーが発生するのはなぜですか: no attribute 'extract'?

Python 3.4 を使用しています。書き込み

正常に動作しますが、これは

応答を引き起こす

ライブラリに extract 関数と extractall 関数が見つからないようです。それはどうしてですか?

0 投票する
0 に答える
235 参照

python - Python で tarfile のバイトを取得する

tarfilePython でオブジェクトのバイナリ表現を取得するにはどうすればよいですか? 現在、私は次のことを行っていますが、これには「コピー」が含まれます。

0 投票する
0 に答える
184 参照

python-3.x - OS エラー: [WinError 123] (Linux で作成された) tarfile の圧縮を解除しているときに表示される

私はtarfile1 つのフォルダーが name を持っています#997_Mon_Oct_14_17:12:29_CST_2013.tar

このファイルは Linux 環境で作成されます。このファイルをWindows環境で解凍したい。

を使用してtarfile、抽出するとエラーが発生します。Windows は ":" を含むフォルダー名を受け入れないためです。

OS エラー: [WinError 123] ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません: 'C:\Users\310190224\Desktop\test\.\lib\modules\#997_Mon_Oct_14_17:12:29_CST_2013'

コードスニペット:

誰でもこの問題を無効にするのを助けることができますか?

0 投票する
1 に答える
2021 参照

python - JSON を tarfile に直接ダンプする

dict オブジェクトの大きなリストがあります。このリストを tar ファイルに保存して、リモートで交換したいと考えています。「w:gz」モードで開かれた tarfile オブジェクトに json.dumps() 文字列を書き込むことで、これを成功させました。

'w|gz' モードで tarfile オブジェクトを開き、パイプによる実装を試みています。これまでの私のコードは次のとおりです。

このコードは関数「write_data」にあります。「json_io_format」は、データセットから一度に 1 つの dict オブジェクトを返すジェネレータです (したがって、パケットは dict です)。

これが私のエラーです:

コメントの助けを借りていくつかのトラブルシューティングを行った後、「with」ステートメントが終了し、コンテキスト マネージャー __exit__ を呼び出そうとするとエラーが発生します。これにより、 TarFile.close () が呼び出されると思います。「with」ステートメントから tarfile.open() 呼び出しを削除し、意図的に TarFile.close() を除外すると、次のコードが得られます。

このバージョンのプログラムは完了しますが、出力ファイル 'filname' を生成せず、次のエラーが発生します。

ガベージコレクターが原因だと思います。何かが原因で TarFile オブジェクトを閉じることができません。

ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか?