【问题标题】:Python Subprocess Opening My Pycharm Folder and Jupyter Folder Instead of TargetPython 子进程打开我的 Pycharm 文件夹和 Jupyter 文件夹而不是目标
【发布时间】: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


【解决方案1】:

解决方案包括以下内容:

  1. 将当前工作目录从 Pycharm/Jupyter 目录中更改出来。
  2. 将存档目标更改为包含 zip 文件的主文件夹,而不是直接指向压缩文件。

希望这可以为其他人节省一些时间,因为尽管它很简单,但我无法找到我的问题。

【讨论】:

    猜你喜欢
    • 2018-05-22
    • 2021-04-15
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 2017-06-24
    相关资源
    最近更新 更多