urllib2.urlopenを使用しての.rarファイルをダウンロードするときに、最初の行がありません()

StackOverflow https://stackoverflow.com/questions/552328

  •  23-08-2019
  •  | 
  •  

質問

オーケー、これは本当に奇妙です。私は基本的に達成たくさんのファイルをダウンロードし、それらを抽出し、このスクリプトを持っています。通常、これらのファイルは.zipファイルです。今日、私は座って、それはRARファイルを操作することに決めて、私は捕まってしまいました。最初に私はこの問題は私のunrarのコードであると考え、それはありませんでした。だから私がやった:

f = urllib2.urlopen(file_location)
data = StringIO(f.read())
print data.getvalue()

一体、私もやったます:

f = urllib2.urlopen(file_location)
print f.read()

私は最初のチャンクを見たかったので、結果は同じである - 。私は.RARファイルの最初の行が欠落しています。

私は非常に同じファイルをダウンロードするには、Webブラウザを使用している場合はすべてがうまくある

、それが破損していないのです。

地獄はここで何が起こっているか誰も私を説明していただけますか?そして、何それは、ファイルタイプとしなければならない。

役に立ちましたか?

解決

あなたはそれを表示しようとすると、最初のチャンクは、後続のデータで上書きされるように、

データは、多分、「キャリッジリターン」の文字(「\ rを」)が含まれていますか?あなたは、出力の最初のチャンクが表示されない理由は説明するだろうが、あなたは後でそれをデコードすることができないではない理由ます。

他のヒント

バイナリデータ列の内容を決定しようとすると、使用 repr()するまたは hex() に。たとえば、

>>> print repr(data)
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t'
>>> print [hex(ord(c)) for c in data]
['0x0', '0x1', '0x2', '0x3', '0x4', '0x5', '0x6', '0x7', '0x8', '0x9']
>>>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top