os.startfileというかShellExecuteWの奇妙な動作
Pythonでos.startfileを呼ぶと、ちゃんと引数が関連付けどおりに実行されるのだが、以下のように例外が発生する場合がある。
>>> os.startfile('http://www.yahoo.co.jp/') Traceback (most recent call last): File "<stdin>", line 1, in <module> WindowsError: [Error 2] 指定されたファイルが見つかりません。: 'http://www.yahoo.co.jp/'
色々試した結果、デフォルトのブラウザがFirefoxではなくIEだと発生しないことがわかった。
google: os.startfile WindowsError Firefox
で検索すると、同じ症状の人を発見。
http://coding.derkeiler.com/Archive/Python/comp.lang.python/2004-07/0590.html
対処法がここに書いてあるらしい。
http://www.brunningonline.net/simon/blog/archives/001465.html
DDEメッセージの引数を消せとか言っている。じゃあ、どうやってFirefoxに引数を渡すんだろうと思い調査。
google: firefox dde
結果、
http://forum.mozilla.gr.jp/?mode=al2&namber=38230&rev=&&KLOG=242
うーん。どうもGoogleツールバーのバグで確定っぽいな。ずいぶんと遠回りをしてしまった。完璧な解決策は今のところないが、引数を消してDDEを迂回させるよりも、はじめからDDEを無効にした方がいいと思う。