已经有一个关于这个主题的post,但它没有明确地回答我在这里重新提出的基本问题:
如何从Python中创建7zip命令?
为了尝试使用subprocess模块,我实现了以下代码,它可以运行,但什么也不做(据我所知):
import subprocess
cmd = ['7z', 'a', '"Test.7z"', '"Test"', '-mx9']
subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)我知道下面的7zip命令可以工作,因为我已经在Windows命令行上测试过了:
7z a "Test.7z" "Test" -mx9如何在Python中实现这个简单的7zip命令?
发布于 2012-06-17 05:47:01
import subprocess
cmd = ['7z', 'a', 'Test.7z', 'Test', '-mx9']
sp = subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)发布于 2017-04-02 23:10:09
您可以使用以下代码将其包装为函数:
import subprocess
def sevenzip(filename, zipname, password):
print("Password is: {}".format(password))
system = subprocess.Popen(["7z", "a", zipname, filename, "-p{}".format(password)])
return(system.communicate())正如我所尝试和测试的那样,这绝对是有效的。如果你想调整它,也就是解压文件,那么你可以使用以下命令:
def extractfiles(zipname):
system = subprocess.Popen(["7z", "e", zipname])
return(system.communicate())试一试,让我知道你的进展如何。
请记住,这是针对Linux的。在Windows中,将"7z“替换为"C:\Program Files\7-Zip\7z.exe”(我认为这是正确的位置)。
发布于 2016-10-21 05:15:22
下面的代码适用于我,python 3.5.2,windows8.1,7z路径添加到系统中
rc = subprocess.call(['7z', 'a', output_filename + '.zip', '-mx9', '-pSecret^)'] + [src_folder + '/'])有两个参数,-mx9表示最大压缩,-pSecret^)表示密码是"Secret^)“,"^”是windows系统中“)”的转义,但解压时,需要键入"^“。
如果没有"^",windows系统将不会在7z.exe创建压缩文件时应用密码。
另外,如果你想使用"-mhe“开关,你需要7z的文件格式,而不是zip。
https://stackoverflow.com/questions/11067097
复制相似问题