如何将此命令传递给subprocess.call?
命令:
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
你试过用 '"500x<"'
代替 '\'500x<\''
吗?
5
为什么在 500x<
上有多余的引号呢?子进程会正确处理任何参数的引号。
要记住,外面的引号不会被传递给应用程序,只有被引号包裹的值会被传递。但是,如果你强制子进程,它会把引号也传递过去。