Вам необходимо использовать параметр cwd
для call
.Также я бы рекомендовал нормализовать путь перед его использованием.
path = os.path.normpath(os.path.join(settings.SITE_ROOT,
'../env/lib/python2.6/site-packages'))
for shop in shops:
print shop
call(["python", path + "/webkit2png.py", "-F", shop.url], cwd="temp")
# Read the screenshot file and insert to model's ImageField
call
принимает те же аргументы, что и Popen .Вы можете найти еще кое-что, что поможет вам.Кроме того, лучше всего разбивать свои токены командной строки на отдельные строки в списке, передаваемые в call
, и оставить для параметра shell
значение по умолчанию False
.Таким образом, вам не нужно беспокоиться о экранировании оболочки, цитировании или любом другом нарушении ваших параметров.