Страница вывода веб-браузера Python на консоль в Windows

1

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

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

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

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

  • 0
    Можете ли вы показать ключевую часть вашего кода?
  • 0
    Вопрос обновлен.
Показать ещё 1 комментарий
Теги:
python-webbrowser

2 ответа

3
Лучший ответ

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

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

1

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню