16

このトピックに関する投稿は既にありますが、ここで再質問している基本的な質問に対する明確な回答はありません。

Python から 7zip コマンドを作成するにはどうすればよいですか?

サブプロセスモジュールを使用しようとして、実行するが何もしない次のものを実装しました(私が知る限り):

import subprocess
cmd = ['7z', 'a', '"Test.7z"', '"Test"', '-mx9']
subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)

Windows コマンド ライン自体でテストしたので、次の 7zip コマンドが機能することがわかっています。

7z a "Test.7z" "Test" -mx9

Python から単純な 7zip コマンドを実装するにはどうすればよいでしょうか?

4

3 に答える 3

11
import subprocess
cmd = ['7z', 'a', 'Test.7z', 'Test', '-mx9']
sp = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
于 2012-06-16T21:47:01.483 に答える
2

次のものは私にとってはうまくいきます.python 3.5.2、windows8.1、7zパスがシステムに追加されました

    rc = subprocess.call(['7z', 'a', output_filename + '.zip', '-mx9', '-pSecret^)'] + [src_folder + '/'])

2 つのパラメーターを使用すると、-mx9 は最大圧縮を意味し、-pSecret^) はパスワードが "Secret^)" であることを意味し、"^" は Windows システムの ")" のエスケープですが、解凍するときに "^" を入力する必要があります。 .

「^」がないと、Windows システムは 7z.exe が zip ファイルを作成するときにパスワードを適用しません。

また、「-mhe」スイッチを使用する場合は、zip ではなく 7z のファイル形式が必要です。

于 2016-10-20T21:15:21.577 に答える