webbrowser.get を使用した後、「a」変数の内容に関する情報を取得できますか? 'webbrowser.WindowsDefault object at 0x024643B0' しか取得できません。デフォルトのブラウザを知りたいのですが、この情報を文字列に転送します
import webbrowser
a = webbrowser.get('windows-default')
print a
a.open('http://www.google.com')
webbrowser.get を使用した後、「a」変数の内容に関する情報を取得できますか? 'webbrowser.WindowsDefault object at 0x024643B0' しか取得できません。デフォルトのブラウザを知りたいのですが、この情報を文字列に転送します
import webbrowser
a = webbrowser.get('windows-default')
print a
a.open('http://www.google.com')
2段階の解決策は次のとおりです。
type(a).__class__
を実行するa = webbrowser.get('windows-default')
と、 by: のクラス名を取得できますbrowser_class = type(a).__class__
。
下の図に基づいて、 2で強調表示されているメソッドを次のようにコーディングできます。
def which_browser(browser_class):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}.get(browser_class,'firefox')
このメソッドは、上記で取得したブラウザ クラス名に応じて、ブラウザ タイプ名を返しますbrowser_class
。メソッドを返すように設定したことに注意してください。デフォルト ではmozillaですが、これは必ずしも単純なテスト用ではありません。つまり、単に実行できます:
def which_browser(browser_class):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}
その後、メソッドを呼び出しwhich_browser()
てブラウザのタイプ名を取得できます。
browser_name = which_browser(browser_class)
browser_name は、必要なタイプstr
です。
上記にリンクされているこの情報が必要になる場合があります。
ブラウザを 2 つだけインストールした Linux マシンにあるものに従って、次のコードをテストしました。
import webbrowser
a = webbrowser.get('windows-default')
def which_browser(b):
return{
'Mozilla': 'firefox',
'Chrome' : 'google-chrome'
}.get(b,'firefox')
print which_browser(type(a).__class__)
プログラムを実行すると、次の出力が得られますfirefox
。