2009-11-28 121 views
2

命令:如何將此命令傳遞給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. 

什麼是錯在上面的代碼?

回答

5

爲什麼500x<額外的報價?子進程將正確引用任何參數。

請記住,外殼不會通過外引號的應用程序,只需引用值,但如果你把它強制子將通過報價。

+1

更準確,論據並不需要在一般的引用 - 只有當你傳遞一個命令行外殼或系統() – 2009-11-28 05:45:49

0

你試過'"500x<"'而不是'\'500x<\''