2

私はPythonでプログラムを書いており、tarfiletarfileを抽出するために使用しています。これらの tarfile の一部には、/または (または Windowsの場合\) で始まるフォルダーが含まれており、問題が発生します (ファイルが間違った場所に抽出されます)。この問題を回避し、抽出が正しい場所で終わるようにするにはどうすればよいですか?

4

2 に答える 2

2

そのようなシナリオについて明示的に警告するためのドキュメント。tarfileextract代わりに、tarファイルと各ファイルのコンテンツを個別に繰り返す必要があります。

import os
import tarfile

extract_to = "."
tfile = tarfile.open('so.tar')

members = tfile.getmembers()
for m in members:
    if m.name[0] == os.sep:
        m.name = m.name[1:]
    tfile.extract(m, path=extract_to)
于 2012-10-12T11:52:55.593 に答える
0

extractall() メソッドを試しましたか? 私が覚えているように、このメソッドの引数の 1 つには、アーカイブを抽出する場所に関する情報が含まれています。

于 2012-10-12T11:41:29.753 に答える