如何将此命令传递给subprocess.call?

时间:2009-11-28 05:33:03

标签: python subprocess

命令:

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 个答案:

答案 0 :(得分:5)

为什么500x<上的额外报价?子进程将正确引用任何参数。

请记住,shell不会将外引号传递给应用程序,只会引用引用的值,但是如果强制它,子进程将传递引号。

答案 1 :(得分:0)

您是否尝试过'"500x<"'而不是'\'500x<\''