Python subproccess.call (розпакувати) не приймає змінної для exdir - django, subprocess, unzip

Це те, що я роблю:

pathToZip = "/it/is/right/here.zip"
pathToOut = "/I/would/like/that/right/here"
unzip = ("unzip", pathToZip, "-d", pathToOut)
p = subprocess.call(unzip)

Чи не працює, print p повертає 2. Однак, це:

unzip = ("unzip", pathToZip, "-d", "/I/would/like/that/right/here")

працює

Яку просту річ у довідці / керівництві я відсутній?

Відповіді:

0 для відповіді № 1

Я не бачу нічого поганого у вашому коді, хоча я зазвичай використовую список замість кортежу для аргументу.

Найкраще тестування на Python консолі, ви повинні знати джерело проблеми відразу.

Чи вміст zip-файлу вже присутній у exdir? У такому випадку запитаєте, чи хочете ви замінити / перезаписати цей вміст. Можна використовувати -o завжди перезаписувати.

pathToZip = "/it/is/right/here.zip"
pathToOut = "/I/would/like/that/right/here"
unzip = ["unzip", "-o", pathToZip, "-d", pathToOut]
p = subprocess.call(unzip)