Ich habe den Fehler http://bugs.python.org/issue1327971 bei dem Versuch, ein dateiähnliches Objekt abzurufen, das von urllib2.urlopen() zurückgegeben wird, aufgerufen.Verwendung der Abfrage für ein dateiähnliches Objekt, das von urllib2.urlopen() zurückgegeben wird?
Leider bin ich relativ neu zu Python, kann ich nicht wirklich aus den Antworten ermitteln, wie Sie das Problem umgehen, da sie hauptsächlich darauf ausgerichtet scheinen, den Fehler zu beheben, anstatt den Code zu hacken, der es zum Funktionieren bringt. Hier
ist eine destillierte Version von meinem Code, der den Fehler wirft:
import urllib2, select
if __name__ == "__main__":
p = select.poll()
url = "http://localhost/"
fd = urllib2.urlopen(url)
p.register(fd, select.POLLIN | select.POLLERR | select.POLLHUP | select.POLLNVAL)
result = p.poll()
for fd, event in result:
if event == select.POLLIN:
while 1:
buf = fd.read(4096)
if not buf:
break
print buf
und der Fehler, die ausgelöst wird, wenn ich es auf Python laufen 2.6:
Traceback (most recent call last):
File "/home/shab/py/test.py", line 9, in <module>
p.register(fd, select.POLLIN | select.POLLERR | select.POLLHUP | select.POLLNVAL)
File "/usr/lib/python2.6/socket.py", line 287, in fileno
return self._sock.fileno()
AttributeError: HTTPResponse instance has no attribute 'fileno'
Update: Ich glaube nicht, möchte die Systembibliotheken ändern.