在一开始,我试图这样做(希望在头脑中获得一些有用的信息):
>>content=open("fileurl","rb").read()
我发现PNG(png)的标题是这样的:89504E47(我不知道这是真的与否) 但是当我这样做时,结果是:
>>> content[:20] '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01\x90'
\x
是什么?
希望有人能提供帮助!非常感谢!
答案 0 :(得分: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 :(得分:1)
您所看到的是Python字符串中的转义字节。 \x89
表示单个字节,其值为89(十六进制)或137(十进制)。
>>> ord('\x89')
137
>>> 0x89
137
>>> chr(137)
'\x89'
答案 2 :(得分:0)
\x89
表示该值不是可打印的ASCII字符。
\r
和\n
也是ASCII字符,没有“明显的”图形符号。
阅读本文:http://docs.python.org/reference/lexical_analysis.html#string-literals