使用urllib2.urlopen下载.rar文件时缺少第一行()
问题描述:
Okey这真的很奇怪。我有这个脚本,基本上下载一堆实现文件并提取它们。通常这些文件是.zip文件。今天我坐下来,决定让它与rar文件一起工作,我陷入困境。起初我认为问题出在我的unrar代码中,但它不在那里。所以我做:使用urllib2.urlopen下载.rar文件时缺少第一行()
f = urllib2.urlopen(file_location)
data = StringIO(f.read())
print data.getvalue()
赫克我甚至:
f = urllib2.urlopen(file_location)
print f.read()
,因为我只是想看看第一个块,结果是一样的 - 我错过了.rar文件的第一行。
如果我使用网络浏览器下载相同的文件,一切都很好,它没有损坏。
任何人都可以请解释我到底是怎么回事吗?它与文件类型有什么关系。
答
数据是否可能包含“回车”字符(“\ r”),以便第一个块在您尝试显示时用后续数据覆盖?这可以解释为什么你在输出中看不到第一块,但不是为什么你以后不能解码它。
谢谢,我什至没有想到它。将输出转储到文本文件,然后是CR。至少我不会再犯错方向了。 – 2009-02-16 05:53:52