Secara pribadi saya benar-benar tidak akan gunakan webbrowser
modul.
Ini adalah kekacauan mengendus yang rumit untuk browser tertentu, yang tidak akan menemukan browser default pengguna jika mereka menginstal lebih dari satu, dan tidak akan menemukan browser jika tidak mengetahui namanya (mis. Chrome).
Lebih baik di Windows cukup menggunakan os.startfile
fungsi, yang juga bekerja pada URL. Di OS X, Anda dapat menggunakan open
perintah sistem. Di Linux ada xdg-open
, perintah standar freedesktop.org yang didukung oleh GNOME, KDE dan 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
Ini akan memberikan pengalaman pengguna yang lebih baik di platform utama. Anda dapat kembali ke webbrowser
pada platform lain, mungkin. Meskipun kemungkinan besar jika Anda menggunakan OS yang tidak jelas/tidak biasa/tertanam di mana tidak ada satu pun di atas yang berfungsi, kemungkinannya adalah webbrowser
akan gagal juga.
Berikut ini cara membuka browser default pengguna dengan url yang diberikan:
import webbrowser
url = "https://www.google.com/"
webbrowser.open(url, new=0, autoraise=True)
Berikut adalah dokumentasi tentang fungsi ini. Itu bagian dari stdlibs Python:
http://docs.python.org/library/webbrowser.html
Saya telah menguji ini dengan sukses di Linux, Ubuntu 10.10.