Как передать эту команду в subprocess.call? - PullRequest
2 голосов
/ 28 ноября 2009

Команда:

root@host:~#convert source.jpg -resize x500 -resize "500x<" -gravity center +repage target.jpg

Код Python:

>> command_list = ['convert', 'source.jpg', '-resize', 'x500', '-resize', '\'500x<\'', '-gravity', 'center', 'target.jpg']
>> p = subprocess.call(command_list)
convert: invalid argument for option `'500x<'': -resize.

Что не так в коде выше?

Ответы [ 2 ]

5 голосов
/ 28 ноября 2009

Почему дополнительные кавычки на 500x<? Подпроцесс правильно процитирует любые аргументы.

Имейте в виду, что оболочка НЕ ​​будет передавать приложению внешние кавычки, а только значение в кавычках, но подпроцесс пропустит кавычки, если вы заставите его.

0 голосов
/ 28 ноября 2009

Вы пробовали '"500x<"' вместо '\'500x<\''?

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