跳转到主要内容

Python中数据URI操作的小类

项目描述

Build status of the master branch on Mac/Linux https://coveralls.io/repos/github/fcurella/python-datauri/badge.svg?branch=master

使数据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...'

序列化

DataURIstr 的子类,因此您可以直接使用 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 (8.5 kB 查看哈希值)

上传时间

构建分发

python_datauri-2.2.0-py2.py3-none-any.whl (5.7 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持