python 的 EOFError: EOF when reading a line 是什么原因?
怪我咯
怪我咯 2017-04-17 11:25:43
0
2
2681

在程序执行过程中,出现过如题的错误信息。

google了一些,好像是python或部署的原因,但是有这些错误信息:


   Traceback (most recent call last):

   ...

   File "/usr/local/lib/python2.7/urllib.py", line 84, in urlopen
    return opener.open(url)

  File "/usr/local/lib/python2.7/urllib.py", line 205, in open
    return getattr(self, name)(url)

  File "/usr/local/lib/python2.7/urllib.py", line 356, in open_http
    return self.http_error(url, fp, errcode, errmsg, headers)

  File "/usr/local/lib/python2.7/urllib.py", line 369, in http_error
    result = method(url, fp, errcode, errmsg, headers)

  File "/usr/local/lib/python2.7/urllib.py", line 663, in http_error_301
    return self.http_error_302(url, fp, errcode, errmsg, headers, data)

  File "/usr/local/lib/python2.7/urllib.py", line 632, in http_error_302
    data)

  File "/usr/local/lib/python2.7/urllib.py", line 659, in redirect_internal
    return self.open(newurl)

  File "/usr/local/lib/python2.7/urllib.py", line 205, in open
    return getattr(self, name)(url)

  File "/usr/local/lib/python2.7/urllib.py", line 356, in open_http
    return self.http_error(url, fp, errcode, errmsg, headers)

  File "/usr/local/lib/python2.7/urllib.py", line 369, in http_error
    result = method(url, fp, errcode, errmsg, headers)

  File "/usr/local/lib/python2.7/urllib.py", line 694, in http_error_401
    return getattr(self,name)(url, realm)

  File "/usr/local/lib/python2.7/urllib.py", line 758, in retry_http_basic_auth
    user, passwd = self.get_user_passwd(host, realm, i)

  File "/usr/local/lib/python2.7/urllib.py", line 787, in get_user_passwd
    user, passwd = self.prompt_user_passwd(host, realm)

  File "/usr/local/lib/python2.7/urllib.py", line 796, in prompt_user_passwd
    host))

EOFError: EOF when reading a line

这是权限问题?

到底是什么问题呢?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
巴扎黑

根據樓主在評論裡的回复,如果想繼續使用urllib的話,可以使用FancyURLopener並且自己定義一個prompt_user_password方法。

urllib的易用性的確是經常為人所詬病.. 所以另外一個辦法是,換用一個更好用的庫。我推薦python-requests。用這個函式庫就可以這麼寫(複製自那個連結):

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
u'{"type":"User"...'
伊谢尔伦

安裝SublimeREPL,然後編譯python檔案的時候,可以選擇【Tools】--【sublimeREPL】--【python】--【Python – RUN current file】即可提示使用者輸入。應該可以解決sublime下面使用raw_input函數報錯的問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板