如何将此命令传递给subprocess.call?
问题描述:
[email protected]:~#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.
什么是错在上面的代码?
答
为什么500x<
额外的报价?子进程将正确引用任何参数。
请记住,外壳不会通过外引号的应用程序,只需引用值,但如果你把它强制子将通过报价。
答
你试过'"500x<"'
而不是'\'500x<\''
?
更准确,论据并不需要在一般的引用 - 只有当你传递一个命令行外壳或系统() – 2009-11-28 05:45:49