Страница вывода веб-браузера Python на консоль в Windows - PullRequest
1 голос
/ 23 ноября 2011

Я пишу приложение PyGTK для Windows и в функции пытаюсь открыть веб-страницу с помощью модуля веб-браузера.Это должна быть самая простая вещь в мире, но вместо открытия в браузере она выводит исходный HTML-код страницы на консоль.Кто-нибудь знает, почему это произойдет?

Код, о котором идет речь:

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

Я только что проверил его на своем ноутбуке Arch Linux, и он отлично работает, так что это Windows-конкретная проблема.Возможно, Python не может найти браузер для использования?

Ответы [ 2 ]

3 голосов
/ 23 ноября 2011

Обычно он пытается (в Windows) использовать os.startfile(url), который запускает приложение по умолчанию для URL-адресов http.Вы можете проверить, что это делает, набрав start http://www.example.com в командной строке.Если это имеет тот же эффект, вы знаете, в чем проблема, и вам следует перенастроить браузер по умолчанию в Windows.

Это поведение может быть изменено пользователем с помощью переменной среды BROWSER, так что вы можетехочу проверить, если вышесказанное не помогает.

1 голос
/ 23 ноября 2011

Этот фрагмент кода может обрабатывать открытие веб-страницы кросс-платформенным способом:

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".

...