在最開始的文件類型,我試圖做這樣的(希望得到的頭部一些有用的信息):
如何知道通過蟒蛇
>>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
是什麼?
希望有人能幫助!非常感謝!
在最開始的文件類型,我試圖做這樣的(希望得到的頭部一些有用的信息):
如何知道通過蟒蛇
>>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
是什麼?
希望有人能幫助!非常感謝!
'\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)
\x89
表示該值不是可打印的ASCII字符。
\r
和\n
也是沒有「明顯」圖形符號的ASCII字符。
閱讀:http://docs.python.org/reference/lexical_analysis.html#string-literals
你看到的是一個Python字符串轉義字節。 \x89
表示值爲89(十六進制)或137(十進制)的單個字節。
>>> ord('\x89')
137
>>> 0x89
137
>>> chr(137)
'\x89'