- 2008/11/12 17:38
- Python
os.system()を使ってExplorerを開くという処理を書いたのですが、
コマンドを実行するといちいちDOS窓が出るので、うざったいなぁと思っていました。
そんな時に、あきおさんのブログで、こんなのを発見しました。
os.system以外に外部コマンド実行する方法ってあるのねと思い、僕も試してみました。
こんな感じ。↓
os.popen(‘explorer “%s”‘ % opendir)
実行してみたところ、DOS窓も出なくなり、スッキリ。
本来はこういう使い方じゃないんだろうけど、まぁ良しとします:P
ちなみに、外部コマンドを実行する方法はこれ以外にもcommandsモジュールがあります。
どれをどういうときに使うのが効果的なのか謎なので、とりあえず手軽なところから使ってます。
- Newer: [Python] MayaのUI作成が面倒くせーーーーー
- Older: 高卒の私でもイギリスで就労ビザは取れるのでしょうか
Comments:4
- あきを 2008/11/13
commandsなんてあったんですね
知らなかった逆にDOS窓を出したいときってどうしてますか?
system(“cmd.exe ***.bat”)
ってすると、DOS窓が立ち上がらずに
script editor内に標準出力が吐き出されてしまうんですよね- tai 2008/11/14
>あきをさん
僕もこの間、コマンドを実行しないといけなくてちょっと調べてみたんですが、どれも大して変わらないような気がしました、、
僕の用途がすごく基本的なものだった、ということも影響してるんだと思うんですが:P>逆にDOS窓~
う、、考えたこともなかったです。
今回DOS窓が出たのは、↑にも書いたとおりのexplorerのウィンドウを立ち上げるコマンドです。
cmd.exeをはずしたらあるいは・・・、とか?
そういえば前にos.system(“xxx.bat”)と直接実行した際にはDOS窓出てた様な気もします。たぶん、、、- あきを 2008/11/21
ユーザーに選択的な処理を行わせたかったのでDOSプロンプトを立ち上げたかったのです
pythonのos.systemだと確かにプロンプトが立ち上がるのですが
プロセスが全部とられちゃうのでMayaがフリーズしちゃうんですよね
一応プロンプトを終了すれば処理できるようになるんですけど
windowsの問題かもしれませんね- tai 2008/11/21
>あきをさん
あー、なるほど、そういうことがあるんですね。
たしかに時間かかる処理させてたりとかすると、Mayaはごっそり持っていかれますね・・・w
os.systemも同じような感じなんですかね?
んー、、、Threading使うとかで解決できたりしないですかね。
Windowsの問題だったら糸冬ですが:P
Trackbacks:0
- Trackback URL for this entry
- http://blog.taikomatsu.com/2008/11/12/python-ossystem-vs-ospopen/trackback/
- Listed below are links to weblogs that reference
- [Python] os.system vs os.popen from memlog