ドキュメントsubprocess.call
では、との使用を推奨しshell=True
ていませんが、私が次のような単純なことをしようとすると
call(['convert'])
エラーが発生します:
ファイルシステムを指定する必要があります
cmd.exeを介して同じコマンドを実行すると、次のようになります。
C:\Users\Mark>convert
Version: ImageMagick 6.7.3-6 2011-11-10 Q16 http://www.imagemagick.org
...
など、つまり、実際に実行されます。
それで、何をしているのcall
ですか?なぜファイルを探しているのですか?
.exeへのフルパスが必要ですか?もしそうなら、私はすべての.exeがどこにあるのかわからないので、そうしないことを望みます。
プログラムへのフルファイルパス()で試してみたところ、call(['C:/imagemagick/convert.exe'])
うまくいきました。しかし、問題はまだ残っています...フルパスなしでどのようにそれを行うのですか?作業ディレクトリから実行するだけですか?