Python shortuuid生成库学习小结

简介: Python shortuuid生成库学习小结

shortuuid生成库学习小结


实践环境

win10

 

Python 3.5.4

 

shortuuid-1.0.1-py3-none-any.whl

下载地址:

https://files.pythonhosted.org/packages/25/a6/2ecc1daa6a304e7f1b216f0896b26156b78e7c38e1211e9b798b4716c53d/shortuuid-1.0.1-py3-none-any.whl

 

shortuuid-1.0.1.tar.gz

https://files.pythonhosted.org/packages/6f/e0/a881ca1332e9195acb4c2b912d58a4278f6950e118b628188e2bc8830589/shortuuid-1.0.1.tar.gz

 

shortuuid库简介

shortuuid通过使用Python内置的uuid模块生成简洁,明确,URL安全的uuid,然后使用大小写字母和数字将它们转换为base57,并删除类似的字符,如l、1、I、O和0

 

使用举例

>>> import shortuuid

>>> shortuuid.uuid()

'4jYtG2xGoFvTcNPbnoyCNq'

 

如果需要生成uui5, 可以将名称( DNS或者 URL ) 传递给函数调用,它将用作产生的UUID的命名空间(UUID.namespace_dns或者 UUID.namespace_url ):

>>> shortuuid.uuid(name="example.com")

'exu3DTbj2ncsn9tLdLWspw'

>>> shortuuid.uuid(name="http://example.com")

'T35fvrnVz6SMSdh9y5hs8c'

 

还可以生成带密码的安全随机字符串(内部使用 os.urandom())

>>> shortuuid.ShortUUID().random(length=22)

'42qBMavZJGyFmCpA49WgMv'

 

查看用于生成新uuid的字母表

>>> shortuuid.get_alphabet()

'23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

 

如果你想使用自定义字母表生成 uuid,客使用set_alphabet():

>>> shortuuid.set_alphabet('LMNPaaaaabcdefgh1230123fghijk')

>>> shortuuid.get_alphabet()

'0123LMNPabcdefghijk'

 

还支持对已生成的uuid进行加解码

>>> import uuid

>>> u = uuid.uuid4()

>>> u

UUID('8b6b07db-d753-4627-8e1c-4873fe427439')

>>> s = shortuuid.encode(u)

>>> s

'0hMMNLce3gecchjf31N11kkh3MN1fej'

>>> shortuuid.decode(s) == u

True

 

参考链接

https://pypi.org/project/shortuuid/#description

 

目录
相关文章
|
6天前
|
Python
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
手撕Python!模块、包、库,傻傻分不清?一分钟带你弄明白!
18 1
|
6天前
|
安全 程序员 API
几个被淘汰的Python库,请不要再用!
几个被淘汰的Python库,请不要再用!
14 0
|
2天前
|
存储 JSON API
Pydantic:目前最流行的Python数据验证库
在处理来自系统外部的数据,如API、终端用户输入或其他来源时,我们必须牢记开发中的一条基本原则:“永远不要相信用户的输入”。 因此,我们必须对这些数据进行严格的检查和验证,确保它们被适当地格式化和标准化。这样做的目的是为了确保这些数据符合我们的程序所需的输入规范,从而保障项目能够正确且高效地运行。
|
3天前
|
存储 缓存 索引
Python中的NumPy库详解
Python中的NumPy库详解
|
6天前
|
XML 自然语言处理 关系型数据库
CasADi - 最优控制开源 Python/MATLAB 库4
CasADi - 最优控制开源 Python/MATLAB 库
17 4
|
6天前
|
Linux API C++
CasADi - 最优控制开源 Python/MATLAB 库3
CasADi - 最优控制开源 Python/MATLAB 库
20 4
|
5天前
|
算法 数据可视化 机器人
Pinocchio - 开源多刚体动力学 C++、Python库
Pinocchio - 开源多刚体动力学 C++、Python库
8 2
|
5天前
|
存储 网络协议 Python
Python如何用PyModbus库进行Modbus TCP通信
使用python解决工业通信问题是一个非常好的选择,python具有丰富的生态,可以轻松解决工业通信的各种问题。 本篇主要介绍使用pymodbus库进行modbus tcp仿真,实现pc端读取plc或工业设备modbus变量。
|
6天前
|
自然语言处理 算法 API
CasADi - 最优控制开源 Python/MATLAB 库2
CasADi - 最优控制开源 Python/MATLAB 库
11 0
|
6天前
|
存储 API C++
CasADi - 最优控制开源 Python/MATLAB 库1
CasADi - 最优控制开源 Python/MATLAB 库
11 0