使用python加密文件夹或zip文件

使用python加密文件夹或zip文件,python,windows,encryption,aes,7zip,Python,Windows,Encryption,Aes,7zip,因此,我尝试使用python对目录进行加密,但我不确定最好的方法是什么。我可以轻松地将文件夹转换为zip文件,但从那里我尝试查找如何使用AES对其进行加密,但无法使其工作,我还尝试使用7zip对文件夹进行加密存档,但也无法使其工作,因此,如果有人有另一种加密目录的解决方案,或者可以为我指出正确的方向,告诉我如何使用前面的方法之一,这将是很有帮助的。(如果这有什么意义的话,我会选择windows)我仍然推荐7-zip 假设您想将zip文件夹命名为myzip.zip Import subproces

因此,我尝试使用python对目录进行加密,但我不确定最好的方法是什么。我可以轻松地将文件夹转换为zip文件,但从那里我尝试查找如何使用AES对其进行加密,但无法使其工作,我还尝试使用7zip对文件夹进行加密存档,但也无法使其工作,因此,如果有人有另一种加密目录的解决方案,或者可以为我指出正确的方向,告诉我如何使用前面的方法之一,这将是很有帮助的。(如果这有什么意义的话,我会选择windows)

我仍然推荐7-zip

假设您想将zip文件夹命名为myzip.zip

Import subprocess

zp = subprocess.call(['7z', 'a', 'your password', '-y', 'myzip.zip'] + ['your file'])
另一种方法:

Import pyminzip
level=4 #level of compression
pyminizip.compress("your file", "myzip.zip", "your password", level)

在子流程模块中使用7-Zip是可行的。以下是我遇到并必须解决的一些问题: 您需要在Popen子流程中指定与cmd变量分开的7zip路径,并使用变量而不是实心字符串生成命令:

appPath="C:\Program Files\\7-Zip"
zApp="7z.exe"
zAction='a'
zPass='-pPASSWORD'
zAnswer='-y'
zDir=directoryToZip
progDir=os.path.join(appPath,zApp)

cmd = [zApp, zAction, zipFileName, zPass, zAnswer, zDir]
subprocess.Popen(cmd, executable=progDir, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
这将创建一个zip文件(位于zipFileName变量中名称所在的位置),包括“directoryToZip”路径中的内容(目录和文件)


必须将progDir指定为独立于作为Open命令一部分调用的应用程序(这是可执行路径),需要将命令字符串构建为变量,以处理windows反斜杠转义设置。

的可能重复。请不要回答离题的问题。这并不能真正回答问题。如果您有不同的问题,可以单击以提问。一旦你有足够的时间,你也可以吸引更多的注意力我更新了一个答案。希望现在可以接受