Подпроцесс Python, открывающий папку My Pycharm и папку Jupyter вместо цели - PullRequest
0 голосов
/ 17 сентября 2018

Здравствуйте. Я пытаюсь разархивировать папку с помощью подпроцесса python, аналогичного инструкциям, подробно изложенным здесь: 4-е решение В этой теме

У меня есть следующий код:

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.См. Прикрепленное изображение:

enter image description here

Я считаю, что таргетинг моего подпроцесса где-то выключен, я также пытался использовать путь 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')

enter image description here

1 Ответ

0 голосов
/ 17 сентября 2018

Решение включало следующее:

  1. Изменение текущего рабочего каталога из каталога Pycharm / Jupyter.
  2. Изменение цели архива на основную папку, содержащую zip-файл,не нацеливаясь непосредственно на заархивированный файл.

Надеюсь, это сэкономит другим время, поскольку я не смог найти свою проблему, хотя это было просто.

...