GNU/Linux >> Linux の 問題 >  >> Linux

URLを開くためにオペレーティングシステムを呼び出しますか?

個人的には本当にしない webbrowser を使用 モジュール。

これは、特定のブラウザーのスニッフィングの複雑な混乱です。ユーザーが複数のブラウザーをインストールしている場合、ユーザーの既定のブラウザーを見つけられず、名前がわからないブラウザー (Chrome など) を見つけられません。

Windows では、単純に os.startfile を使用することをお勧めします。 URL でも機能します。 OS X では、open を使用できます。 システムコマンド。 Linux には xdg-open があります 、GNOME、KDE、および XFCE でサポートされている freedesktop.org の標準コマンドです。

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 にフォールバックできます 他のプラットフォームでは、おそらく。上記のいずれも機能しないあいまいな/珍しい/組み込みの OS を使用している場合は、可能性が最も高くなりますが、可能性は webbrowser です。 も失敗します。


指定された URL でユーザーの既定のブラウザーを開く方法は次のとおりです:

import webbrowser

url = "https://www.google.com/"

webbrowser.open(url, new=0, autoraise=True)

この機能に関するドキュメントは次のとおりです。これは Python の標準ライブラリの一部です:

http://docs.python.org/library/webbrowser.html

Linux、Ubuntu 10.10 でこれを正常にテストしました。


Linux
  1. Ubuntuオペレーティングシステムで再起動をスケジュールする

  2. Python でオペレーティング システムを確認するにはどうすればよいですか?

  3. ptrace() でシステム コールをキャンセルする

  1. Intel x86 対 x64 システムコール

  2. 最速の Linux システム コール

  3. パラメータをLinuxシステムコールに渡す方法は?

  1. 私のLinuxの話:スペイン語でオープンソースをカバーする

  2. MuditaOS:フィーチャーフォン向けの美しく最小限のオープンソースモバイルオペレーティングシステム

  3. アセンブリの Linux システム コール テーブルまたはチートシート