* [Python] os.system vs os.popen
Posted on 11 月 12th, 2008 by tai. Filed under Python.
os.system()を使ってExplorerを開くという処理を書いたのですが、
コマンドを実行するといちいちDOS窓が出るので、うざったいなぁと思っていました。
そんな時に、あきおさんのブログで、こんなのを発見しました。
os.system以外に外部コマンド実行する方法ってあるのねと思い、僕も試してみました。
こんな感じ。↓
os.popen(’explorer “%s”‘ % opendir)
実行してみたところ、DOS窓も出なくなり、スッキリ。
本来はこういう使い方じゃないんだろうけど、まぁ良しとします:P
ちなみに、外部コマンドを実行する方法はこれ以外にもcommandsモジュールがあります。
どれをどういうときに使うのが効果的なのか謎なので、とりあえず手軽なところから使ってます。
4 Responses to “[Python] os.system vs os.popen”
Leave a Reply
最近のコメント
- [2009] 謹賀新年 に tai より
- [2009] 謹賀新年 に ぷーとん より
- [2009] 謹賀新年 に ガチャリーヌ より
- [2009] 謹賀新年 に tai より
- [2009] 謹賀新年 に hohehohe2(今日から節制) より
最近の投稿
アーカイブ
- 2009 年 1 月
- 2008 年 12 月
- 2008 年 11 月
- 2008 年 10 月
- 2008 年 9 月
- 2008 年 8 月
- 2008 年 7 月
- 2008 年 6 月
- 2008 年 5 月
- 2008 年 4 月
- 2008 年 3 月
- 2008 年 2 月
- 2008 年 1 月
- 2007 年 12 月
- 2007 年 11 月
- 2007 年 10 月
- 2007 年 9 月
- 2007 年 8 月
- 2007 年 7 月
- 2007 年 6 月
- 2007 年 5 月
- 2007 年 4 月
- 2007 年 3 月
11 月 13th, 2008 at AM 11:24
commandsなんてあったんですね
知らなかった
逆にDOS窓を出したいときってどうしてますか?
system(”cmd.exe ***.bat”)
ってすると、DOS窓が立ち上がらずに
script editor内に標準出力が吐き出されてしまうんですよね
11 月 14th, 2008 at PM 1:25
>あきをさん
僕もこの間、コマンドを実行しないといけなくてちょっと調べてみたんですが、どれも大して変わらないような気がしました、、
僕の用途がすごく基本的なものだった、ということも影響してるんだと思うんですが:P
>逆にDOS窓~
う、、考えたこともなかったです。
今回DOS窓が出たのは、↑にも書いたとおりのexplorerのウィンドウを立ち上げるコマンドです。
cmd.exeをはずしたらあるいは・・・、とか?
そういえば前にos.system(”xxx.bat”)と直接実行した際にはDOS窓出てた様な気もします。たぶん、、、
11 月 21st, 2008 at PM 1:31
ユーザーに選択的な処理を行わせたかったのでDOSプロンプトを立ち上げたかったのです
pythonのos.systemだと確かにプロンプトが立ち上がるのですが
プロセスが全部とられちゃうのでMayaがフリーズしちゃうんですよね
一応プロンプトを終了すれば処理できるようになるんですけど
windowsの問題かもしれませんね
11 月 21st, 2008 at PM 10:14
>あきをさん
あー、なるほど、そういうことがあるんですね。
たしかに時間かかる処理させてたりとかすると、Mayaはごっそり持っていかれますね・・・w
os.systemも同じような感じなんですかね?
んー、、、Threading使うとかで解決できたりしないですかね。
Windowsの問題だったら糸冬ですが:P