'元组'对象没有属性'超时'

时间:2014-06-13 20:18:07

标签: python python-3.x

我这里有这个代码

site = urllib.request.urlopen('http://omegle.com/start')
id = fmtId( site.read() )
print(id)
req = urllib.request.urlretrieve('http://omegle.com/events', urllib.parse.urlencode( {'id':id}))
print('finding')

这个

site = urllib.request.urlopen(req)
rec = site.read()

我收到此错误

File "C:\Users\...\script.py", line 74, in <module>
omegleConnect()
File "C:\Users\...\script.py", line 70, in omegleConnect
listenServer(id,req)
File "C:\Users\...\script.py", line 32, in listenServer
site = urllib.request.urlopen(req)
File "C:\Python33\lib\urllib\request.py", line 156, in urlopen
return opener.open(url, data, timeout)
File "C:\Python33\lib\urllib\request.py", line 460, in open
req.timeout = timeout
AttributeError: 'tuple' object has no attribute 'timeout'

我没有使用过python的所有经验,所以如果你愿意,请向我解释一下。 我现在还不知道我的代码中出了什么问题。如果您需要我的代码中的任何其他内容或更多详细信息,请询问。

2 个答案:

答案 0 :(得分:2)

你做的第二个电话,你要给它一个元组,这是一个像这样的不可改变的列表

(1, 2, 3)

它没有属性,代码正在尝试访问&#34;超时&#34;那个元组的财产。你可能意味着发送urlopen一个在req对象里面的url,而不是完整的元组。如果您刚开始使用Python(即使不是),您可能需要查看请求库 http://docs.python-requests.org/en/latest/,它非常易于使用且记录良好。

答案 1 :(得分:0)

import urllib 
site = urllib.urlopen('http://omegle.com/start')
id_ = site.read()
print(id_)

你能试试这个代码吗?当我尝试运行此代码时,它们正在运行。我想urllib没有像请求这样的属性。