Лично я действительно не стал бы использовать модуль webbrowser
.
Это сложная путаница для определенных браузеров, которая не найдет браузер пользователя по умолчанию, если ониУ меня установлено более одного, и он не найдет браузер, если он не знает его имени (например, Chrome).
Лучше в Windows просто использовать функцию os.startfile
, которая также работает с URL.В OS X вы можете использовать системную команду open
.В Linux есть xdg-open
, стандартная команда freedesktop.org, поддерживаемая GNOME, KDE и XFCE.
if sys.platform=='win32':
os.startfile(url)
elif sys.platform=='darwin':
subprocess.Popen(['open', url])
else:
try:
subprocess.Popen(['xdg-open', url])
except OSError:
print 'Please open a browser on: '+url
Это улучшит взаимодействие с пользователем на основных платформах.Возможно, вы можете вернуться к webbrowser
на других платформах.Хотя, скорее всего, если вы работаете в непонятной / необычной / встроенной ОС, в которой ничего из вышеперечисленного не работает, скорее всего, webbrowser
тоже не удастся.