2011-04-21 85 views
1

在最開始的文件類型,我試圖做這樣的(希望得到的頭部一些有用的信息):
如何知道通過蟒蛇

 
>>content=open("fileurl","rb").read() 

我發現,PNG(PNG)的標題是LIK這樣的:89504E47(我不知道wheather這是真的還是假的)
但是,當我這樣做,其結果是:

 
>>> content[:20] 
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\x90' 

\x是什麼?
希望有人能幫助!非常感謝!

回答

4

'\x89'與值0x89不可打印字節的表示(這是137)。

至於在Python中查找文件類型,已經有mimetypes模塊。

import mimetypes 
type, subtype = mimetypes.guess_type(filename_or_url) 

在行動:

>>> mimetypes.guess_type('http://upload.wikimedia.org/wikipedia/commons/9/9a/PNG_transparency_demonstration_2.png') 
('image/png', None) 
1

你看到的是一個Python字符串轉義字節。 \x89表示值爲89(十六進制)或137(十進制)的單個字節。

>>> ord('\x89') 
137 
>>> 0x89 
137 
>>> chr(137) 
'\x89'