【发布时间】:2019-02-21 12:51:49
【问题描述】:
您好,我正在尝试使用类似于此处详述的说明的 python 子进程解压缩文件夹: 4th Solution Down in this thread
我有以下代码:
Z_Location = 'C:\\Program Files (x86)\\7-Zip\\7zFM.exe'
Extract_File ='C:\\Users\\jnardone\\Desktop\\containszips\\myzipfile.zip'
Extract_PW = 'PASSWORD'
Extact_Folder = 'C:\\Users\\jnardone\\Desktop\\containsunzips'
Extract_Target = Z_Location + ' e ' + '"' + Extract_File + '"' + ' -p' + '"' + Extract_PW + '"' + ' -o' + '"' + Extact_Folder + '"'
subprocess.call(Extract_Target)
当我运行此过程时,它只会打开一个 7zip 窗口,该窗口针对我的 Pycharm 文件或我的 jupyter 笔记本文件。见附图:
我相信我的子进程的目标不在某个地方,我也尝试过使用 os 路径,但我不确定语法。
更新:
我已将子进程更改为在我的计算机目录而不是笔记本/IDE 中工作。但是现在我看到另一个问题是压缩文件没有被解压缩,而是被复制了。
subprocess.call(r"C:\Program Files (x86)\7-Zip\7z.exe e C:\Users\jnardone\Desktop\folder\file.7z -pPASSWORD",cwd=r'C:\Users\jnardone\Desktop\auto_test_3')
【问题讨论】:
-
您确定您的 7zip 不只是打开到默认位置吗?
-
我进行了编辑以强制我的子进程在我的 PC 目录中运行,而不是在 jupyter notebook/pycharm 环境中运行。我将使用新代码更新我的问题。
标签: python subprocess unzip 7zip