调用命令行加密压缩成ZIP文件时,无法加密带有引号“”的密码,希望高手帮忙指点一下,谢谢~
import subprocess
def zipDir():
cmd = ['zip', 'a', '-p%s' % password, outFullName, dirpath]
p = subprocess.Popen(cmd, executable=r'C:\Program Files\WinRAR\WinRAR.exe')
p.wait()
print(cmd)
if __name__ == "__main__":
dirpath = "C:\\New"
outFullName = "C:\\test.zip"
#password = "123a.@$"
password = "\"123a.@$"#带引号的密码无法进行加密
print(password)
print ('start zip')
zipDir()
应该是双引号传到CMD需要转义,但是问题还是没有解决,。,
问题已解决,我弃用了subprocess.popen方法,使用os.system(cmd),cmd = r'C:\"Program Files"\WinRAR\WinRAR.exe a -p""123 C:\test.zip C:\New'
推荐文章: