【发布时间】:2016-05-22 00:29:12
【问题描述】:
我正在编写一个 python 脚本来解析 jenkins 的作业结果。我正在使用 urllib2 来获取 consoleText,但我收到的文件不完整。获取文件的代码是:
data = urllib2.urlopen('http://<server>/job/<jobname>/<buildid>/consoleText')
lines = data.readlines()
我得到的行数是 2306,而控制台日志中的实际行数是 37521。我可以通过 wget 检查购买获取文件:
$ wget 'http://<server>/job/<jobname>/<buildid>/consoleText'
$ wc -l consoleText
37521
为什么 urlopen 没有给我完整的结果?
更新:
使用requests(由@svrist 建议)而不是urllib2 没有这样的问题,所以我改用它。我的新代码是:
data = requests.get('http://<server>/job/<jobname>/<buildid>/consoleText')
lines = [l for l in data.iter_lines()]
但我仍然不知道为什么urllib2.urlopen 不能正常工作。
【问题讨论】:
-
不是那种人,但每个人都会说:“使用请求”
-
您认为您可以请求的项目数量是否有上限?
标签: python jenkins python-requests urllib2