在最开始的文件类型,我试图做这样的(希望得到的头部一些有用的信息):
如何知道通过蟒蛇
>>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'