Python中数据URI操作的小类
项目描述
使数据URI操作变得简单。
这并不非常健壮,并且会拒绝许多有效的数据URI。然而,它满足了最有用的案例:一个MIME类型、一个字符集和base64标志。
安装
$ pip install python-datauri
解析
>>> from datauri import DataURI
>>> uri = DataURI('data:text/plain;charset=utf-8;base64,VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu')
>>> uri.mimetype
'text/plain'
>>> uri.charset
'utf-8'
>>> uri.is_base64
True
>>> uri.data
b'The quick brown fox jumped over the lazy dog.'
请注意,DataURI.data 总是返回字节。使用 DataURI.text 来获取字符串。
从字符串创建
>>> from datauri import DataURI
>>> made = DataURI.make('text/plain', charset='us-ascii', base64=True, data='This is a message.')
>>> made
DataURI('data:text/plain;charset=us-ascii;base64,VGhpcyBpcyBhIG1lc3NhZ2Uu')
>>> made.data
b'This is a message.'
从文件创建
这实际上只是一个便利方法。
>>> from datauri import DataURI
>>> png_uri = DataURI.from_file('somefile.png')
>>> png_uri.mimetype
'image/png'
>>> png_uri.data
b'\x89PNG\r\n...'
序列化
DataURI 是 str 的子类,因此您可以直接使用 str() 来打印它。
>>> from datauri import DataURI
>>> png_uri = DataURI.from_file('somefile.png')
>>> str(png_uri)
'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIA...'
Pydantic支持
您可以将 DataURI 用作 Pydantic 的类型。
from datauri import DataURI
from pydantic import BaseModel
class ProfilePicture(BaseModel):
image_data: DataURI
许可证
此代码在 Unlicense 许可下发布。
致谢
这是一个由 Zachary Voase 编写的原始 Gist 的重新包装。
项目详情
关闭
python_datauri-2.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8fa58222975fee541ce39e6b0b9d5653cefcc2481ad2629efc0378d48b13f43b |
|
MD5 | 5c50ec28dbc03d3e2031f322941f6152 |
|
BLAKE2b-256 | 565233d83724f3d9681c2364bce421ca7a42bc9ff64f635a902164af0d42c5df |
关闭
python_datauri-2.2.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8fdbd6fc544a936eb492aa609ac457b08bbd7b9a77819c555805372cc76d7118 |
|
MD5 | b542f6c78a8eae52cb7dcd52baac0fc1 |
|
BLAKE2b-256 | fbcb2f12fbd0637c3950e139c63bc076eceb25ac1589e947104466a13f2080e4 |