Если вы хотите запустить команду оболочки, вам нужно использовать подпроцесс. Поскольку это может запустить команду оболочки в своем собственном процессе, использование многопроцессорной обработки в лучшем случае избыточно. Многопроцессорная обработка удобна, когда вы хотите запустить функцию вашей программы на Python в отдельном процессе. Похоже, вы намереваетесь запустить команду оболочки, а не функцию python.
Я не знаком с curl
. Если вы хотите получить стандартный вывод от curl
, используйте subprocess.Popen()
. subprocess.call()
возвращает код возврата программы, а не stdout
.
См. http://docs.python.org/release/3.2/library/subprocess.html
Что-то вроде:
subp = subprocess.Popen(['curl', '-O', imgurl], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
curlstdout, curlstderr = subp.communicate()
op = str(curlstdout)
может быть ближе. Как я уже сказал, вы не знакомы с curl
, поэтому ваша программа может отличаться.