Использование subprocess.call для обрезки изображения - PullRequest
1 голос
/ 12 февраля 2010

У меня проблемы с моим скриптом Python, и я не понимаю этого:

subprocess.call(['convert', file, '-crop', '80x10+90+980', '+repage', 'test.jpg'])

Возвращает " неверный аргумент - -crop "

Но если я запускаю это из командной строки, все работает нормально:

convert test.jpg -crop 80x10+90+980 +repage test.jpg

Что мне здесь не хватает?

Ответы [ 4 ]

2 голосов
/ 12 февраля 2010

В системе более одного convert? Попробуйте абсолютный путь к нужной команде?

1 голос
/ 12 февраля 2010

Я на самом деле пробовал ваш код:

>>> import subprocess
>>> subprocess.call(['convert', 'capa.jpg', '-crop', '80x10+90+980', '+repage', 'capa2.jpg'])
0
>>> 

И у меня это работает!

Так что у тебя должно быть что-то не так, где-то еще. Проверьте наши предположения еще раз.

1 голос
/ 12 февраля 2010

file _____ строится в _____ классе. Переопределение может привести к нежелательным результатам. Попробуйте использовать другое имя переменной.

1 голос
/ 12 февраля 2010

А как насчет использования библиотеки изображений Python вместо ?Это кажется гораздо более надежным, чем вызывать подпроцесс (особенно для обработки ошибок ...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...