1

サブプロセスを使用してアーカイブを抽出してみます。

subprocess.call(['7z', 'x', '-r', '-y', '-o %s' % os.path.normpath("C:/temp"), archivePath], shell = True )

しかし、私はエラーが発生します:

7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18

処理中のアーカイブ: \172.16.0.30\TestFarm\testdata\testdata.7z

エラー: 出力ディレクトリ C:\temp\ を作成できません

システム エラー: ファイル名、ディレクトリ名、またはボリューム ラベルの構文が正しくありません。

2

どうすればいいですか?なぜそれが起こるのですか?コマンドラインコンソールを使用すると、完璧に機能します。

4

1 に答える 1

1

shell=False を設定します。

出力ディレクトリを '-o%s' % ディレクトリに設定します。

7z コマンド ラインで、ディレクトリの前にスペースを追加しています。

于 2013-09-16T16:37:04.313 に答える