Python 錯誤 [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



Python 錯誤
會員一級
註冊日期:
2014/8/19 16:40
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 0
MP : 0 / 0
EXP: 0
離線
import urllib2
url = "http://www.baidu.com"
f = urllib2.urlopen(url, timeout=5).read()
print len(f)


以上是我檔案的腳本內容
Python版本2.7.6
但是運行時出現

Traceback (most recent call last):
File "test.py", line 3, in <module>
f = urllib2.urlopen(url, timeout=5).read()
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1214, in http_open
return self.do_open(httplib.HTTPConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1153, in do_open
h = http_class(host, timeout=req.timeout) # will parse host:port
TypeError: __init__() got an unexpected keyword argument 'timeout'

2014/8/20 12:48
應用擴展 工具箱
回覆: Python 錯誤
會員二級
註冊日期:
2011/10/7 0:22
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 157
MP : 23 / 3719
EXP: 28
離線
File "/usr/lib/python2.7/urllib2.py", line 1153, in do_open
h = http_class(host, timeout=req.timeout) # will parse host:port
TypeError: __init__() got an unexpected keyword argument 'timeout'


從錯誤訊息看來,感覺問題是出在
http_class()
這個函式的參數給錯了。

用你提供的程式碼,在Debain上測試的結果是可以正常運行的,結果如下:

Python 2.7.3 (default, Mar 14 2014, 11:57:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2
>>> url="http://www.baidu.com"
>>> f = urllib2.urlopen(url, timeout = 5).read()
>>> print len(f)
79604

2014/8/22 0:54
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.