Skip to main content
 首页 » 编程设计

从数据库中检索 url 并使用 webbrowser() 打开它时出现 Python 错误

2025年05月04日8Free-Thinker

我正在尝试使用 Python 作为个人项目的后端来制作类似于 StumbleUpon 的应用程序。我从数据库中检索网站名称,然后使用 webbrowser.open("http://www.website.com") 打开该网站。听起来很直接,但有一个问题。当我尝试使用 webbrowser.open("website.com") 打开网站时,它返回以下错误:

File "fetchall.py", line 18, in <module> 
webbrowser.open(x) 
File "/usr/lib/python2.6/webbrowser.py", line 61, in open 
if browser.open(url, new, autoraise): 
File "/usr/lib/python2.6/webbrowser.py", line 190, in open 
for arg in self.args] 
TypeError: expected a character buffer object 

这是我的代码:

import sqlite3 
import webbrowser  
 
conn = sqlite3.connect("websites.sqlite") 
 
cur = conn.cursor() 
 
cur.execute("SELECT WEBSITE FROM COLUMN") 
 
x = cur.fetchmany(1) 
 
webbrowser.open(x) 

编辑

好的,谢谢你的回复,但现在我收到了这个:“显示 URL 时出错:错误说明文件 '/home/user/(u'http:bbc.co.uk,)':没有这样的文件或目录".

这是怎么回事?

请您参考如下方法:

webbrowser.open 需要一个字符缓冲区,但 fetchmany 返回一个列表。所以 webbrowser.open(x[0]) 应该可以解决问题。