Python禁用webbrowser是为了让它失败

2024-04-24 11:43:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个mediacenter OSMC linux设备,里面有python。我正在使用一个名为flyckrsmartsync的应用程序将我的Flickr帐户与mediacenter上的文件夹同步。python应用程序必须在Flickr上进行身份验证。我安装在另一个没有配置浏览器的linux设备上。该应用程序向我显示了可以在我的Windows框上用于验证该应用程序的url。你知道吗

在我的OMC框中,本地浏览器被激活,我无法在控制台中显示URL。你知道吗

基本上webbrowser.获取()方法,该方法在第一个linux框中失败,并显示URL在第二个linux框中没有失败,然后在他进入浏览器后挂起。你知道吗

如果在第二个框中执行命令“python”:

Python 2.7.9 (default, Aug 13 2016, 17:56:53)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

然后执行以下命令:

>>> import webbrowser
>>> webbrowser._tryorder
['www-browser', 'lynx']

有没有办法在python中注销所有浏览器,以便webbrowser.获取api失败? 有什么理由在我验证应用程序后再添加它们?你知道吗


Tags: 方法文件夹身份验证应用程序urllinuxwindows浏览器
1条回答
网友
1楼 · 发布于 2024-04-24 11:43:56

我相信你可以用简单的

del webbrowser._tryorder[:]

这可能是不可移植的-_tryorder没有文档记录,并且它以_开始,这意味着它是模块专用的。你知道吗

示例:

Python 3.5.2+ (default, Sep 22 2016, 12:18:14) 
[GCC 6.2.0 20160927] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import webbrowser
>>> webbrowser.get()
<webbrowser.BackgroundBrowser object at 0x7f9e91773c88>
>>> del webbrowser._tryorder[:]
>>> webbrowser.get()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.5/webbrowser.py", line 51, in get
    raise Error("could not locate runnable browser")
webbrowser.Error: could not locate runnable browser

相关问题 更多 >