1

私はWindowsでPyGTKアプリケーションを作成しており、関数内でwebbrowserモジュールを使用してWebページを開こうとしています。これは世界で最も単純なことですが、ブラウザで開く代わりに、ページのHTMLソースをコンソールに出力します。なぜこれが起こるのか誰かが知っていますか?

問題のコード:

oauthURL = ("http://api.twitter.com/oauth/authorize?oauth_token=" + requestToken)
webbrowser.open(oauthURL, 2, True)

今、Arch Linuxラップトップでテストしましたが、正常に動作するため、これはWindows固有の問題です。おそらくPythonは使用するブラウザを見つけることができませんか?

4

2 に答える 2

3

(Windowsで)通常実行しようとするのはos.startfile(url)、httpurlのデフォルトアプリケーションを起動するを使用することです。start http://www.example.comコマンドプロンプトで入力すると、これが何をするかを確認できます。これで同じ効果が得られる場合は、問題が何であるかがわかっているので、Windowsでデフォルトのブラウザーを再構成する必要があります。

この動作は、環境変数を介してユーザーがオーバーライドできるBROWSERため、上記が役に立たないかどうかを確認することをお勧めします。

于 2011-11-23T12:49:43.890 に答える
1

このコードスニペットは、クロスプラットフォームの方法でWebページを開くことを処理できます。

if sys.platform[:3] == 'win':
    try:
        os.startfile(oauthURL)
    except WindowsError as why:
        # your error handling code
        print(why)
else:
    webbrowser.open(oauthURL, 2, True)

これは、IDLEのEditorWindow.py「python_docs」関数に基づいています。

于 2011-11-23T14:41:23.680 に答える