subprocess.call を使用して Python 2.7 から ImageMagick コマンドを呼び出そうとしています。私の問題は、サブプロセスの引数パーサーがすべての引数を二重引用符で囲み、ImageMagick がファイル以外の引数を引用符で囲むことに問題があるように見えることです。
私が欲しいのはこのようなものです
"imagemagick.exe" "im1.png" "im2.png" -alpha off ( ... ) -composite "im3.png"
これまでのところ、醜い+ " " +
要素で文字列を手動で構築し、 shell=True
.
これが私のコードです:
args = [ imagemagick,
filename + "_b.bmp",
filename + "_w.bmp",
"-alpha off ( -clone 0,1 -compose difference -composite -negate ) ( -clone 0,2 +swap -compose divide -composite ) -delete 0,1 +swap -compose Copy_Opacity -composite",
filename + ".png" ]
subprocess.call( args )
サブプロセスを使用して二重引用符なしで正しいコマンドを呼び出す方法はありますか?
更新:完全なコマンドラインを挿入しました。その部分は「アルファ」「オフ」・・・ではなく、一つ一つまとめていきたいです。