我正在尝试编写一个 Python 程序来处理 RSS,但是我在直接从 Internet 下载文件时遇到了一些问题。
我正在使用 urllib.request.urlopen() 来获取文件。这是我遇到问题的代码:
import xml.etree.ElementTree as et
import urllib.request as urlget
self.sourceUrl = sourceUrl #sourceUrl was an argument
self.root = et.fromstring(urlget.urlopen(sourceUrl).read())
我已将问题追踪到一行:
urllib.request.urlopen calls urllib.request.opener.open()
which then calls self._open()
which then calls self._call_chain()
which then calls urllib.request.HTTPHandler.http_open()
which then calls urllib.request.AbstractHTTPHandler.do_open()
which then calls http.client.HTTPConnection.getresponse()
which then calls http.client.HTTTResponse.begin()
which then calls self._read_status()
问题行(发现是多次暂停执行时出现的唯一行):
Python33\Lib\http\client.py 第 317 行
if len(line) > _MAXLINE:
我可以继续编写代码,但前提是我通过 Step Over 照看它,直到我回到我的代码。
在我的测试中,这个问题从未发生过,所以我不知道为什么我现在得到它。
提前感谢您的帮助!
编辑:来源可以在这里找到。我很久以前就失去了从事这个项目的动力,从那以后就再也没有碰过它。如果我有更多的动力,我可能会重做整个事情,但我预计不会很快。如果您想回答,我邀请您参加,这可能对其他人有益。但是请注意,代码很糟糕,因为当时我的经验相对较少。我真的找不到解决办法,但我发现你必须查看 data/code/functions.py
另请注意,据我所知,它并没有调用错误,只是程序在我不耐烦之前一次挂起几分钟。