Fehlende erste Zeile, wenn Rar-Datei mit urllib2.urlopen Download ()
Frage
Okey das ist wirklich seltsam. Ich habe dieses Skript, das im Grunde Bündel erreichen Dateien herunterlädt und extrahiert sie. Normalerweise befinden sich diese Dateien sind ZIP-Dateien. Heute setzte ich mich hin und beschlossen, es mit rar-Dateien funktioniert und ich habe fest. Zuerst dachte ich, dass das Problem in meinem unrar-Code ist, aber es war nicht da. Also tat ich:
f = urllib2.urlopen(file_location)
data = StringIO(f.read())
print data.getvalue()
Heck ich auch tat:
f = urllib2.urlopen(file_location)
print f.read()
, weil ich wollte nur die ersten Brocken sehen, und das Ergebnis ist das gleiche. - Ich erste Zeile der Rar-Datei fehlt bin
Wenn ich Web-Browser verwenden die gleiche Datei ist alles in Ordnung zu downloaden, es ist nicht beschädigt.
Kann jemand mir bitte erklären, was zum Teufel hier los? Und was hat es mit dem Dateityp zu tun.
Lösung
Enthalten die Daten vielleicht ein „Carriage Return“ Zeichen ( „\ r“), so dass der erste Block mit nachfolgenden Daten überschrieben wird, wenn Sie versuchen, es zu sehen? Dies würde erklären, warum Sie nicht den ersten Block in der Ausgabe sehen, aber nicht, warum Sie nicht in der Lage, sie zu entschlüsseln später.