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

jac*_*ack 2 python subprocess

命令:

root@host:~#convert source.jpg -resize x500 -resize "500x<" -gravity center +repage target.jpg
Run Code Online (Sandbox Code Playgroud)

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.
Run Code Online (Sandbox Code Playgroud)

上面的代码有什么问题?

gah*_*ooa 5

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

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