shortuuid生成库学习小结

by:授客 QQ1033553122

实践环境

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

Python shortuuid生成库学习小结的更多相关文章

  1. Python html.parser库学习小结

    分类路径:/Datazen/DataMining/Crawler/   前段时间,一朋友让我做个小脚本,抓一下某C2C商城上竞争对手的销售/价格数据,好让他可以实时调整自己的营销策略.自己之前也有过写 ...

  2. PYTHON HTML.PARSER库学习小结--转载

    前段时间,一朋友让我做个小脚本,抓一下某C2C商城上竞争对手的销售/价格数据,好让他可以实时调整自己的营销策略.自己之前也有过写爬虫抓某宝数据的经历,实现的问题不大,于是就答应了.初步想法是利用pyh ...

  3. [编程基础] Python数据生成库Faker总结

    Python Faker教程展示了如何使用Faker软件包在Python中生成伪数据.我们使用joke2k/faker包. 1 介绍 Faker是一个生成假数据的Python库.伪数据通常用于测试或用 ...

  4. python爬虫解析库学习

    一.xpath库使用: 1.基本规则: 2.将文件转为HTML对象: html = etree.parse('./test.html', etree.HTMLParser()) result = et ...

  5. Python之matplotlib库学习

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...

  6. python 之Requests库学习笔记

    1.    Requests库安装 Windows平台安装说明: 直接以管理员身份打开cmd运行界面,使用pip管理工具进行requests库的安装. 具体安装命令如下: >pip instal ...

  7. Python之matplotlib库学习:实现数据可视化

    1. 安装和文档 pip install matplotlib 官方文档 为了方便显示图像,还使用了ipython qtconsole方便显示.具体怎么弄网上搜一下就很多教程了. pyplot模块是提 ...

  8. Python之Pandas库学习(一):简介

    官方文档 1. 安装Pandas windos下cmd:pip install pandas 导入pandas包:import pandas as pd 2. Series对象 带索引的一维数组 创建 ...

  9. 基于Windows平台的Python多线程及多进程学习小结

    python多线程及多进程对于不同平台有不同的工具(platform-specific tools),如os.fork仅在Unix上可用,而windows不可用,该文仅针对windows平台可用的工具 ...

  10. Python之Pandas库学习(二):数据读写

    1. I/O API工具 读取函数 写入函数 read_csv to_csv read_excel to_excel read_hdf to_hdf read_sql to_sql read_json ...

随机推荐

  1. 【winform】 WeifenLuo.WinFormsUI.Docking.dll 组件学习

    这个组件是用来 对窗体的布局用的,可搭建一个管理系统的ui框架. 使用例子:https://blog.csdn.net/zzzzzzzert/article/details/80791554

  2. Sqlserver存储过程中使用try-catch和事务

    BEGIN TRY BEGIN TRANSACTION --逻辑代码 COMMIT TRANSACTION --提交事务 END TRY BEGIN CATCH SELECT @Msg = ERROR ...

  3. C#关键字 sealed

    定义在自定义类上,该类就不能被继承. 定义在基类的方法上,子类就不能用override 重写该方法.

  4. MySQL配置主从同步过程记录

    今天由于工作需要,配置了一下主从同步,这里记录一下配置过程,以备查阅. 事先度娘了一番,主从同步需要保证主从服务器MySQL版本一致(我的略有差别,主服务器版本5.5.31,从服务器版本5.5.19) ...

  5. 音视频积累-Wakeups 解决

    一.现象 ReplayKit2运行过程中经常会被系统杀掉,在USB连接手机后可以导出crash log Date/Time: 2017-09-29 12:16:59.321071 +0800 OS V ...

  6. LeetCode 683. K Empty Slots K 个空花盆 / LintCode 861. K个空的位置 (C++/Java)

    题目: 一个花园有N个位置.每个位置上有一朵花.这N朵花会在N天内逐一盛开.每天都一定会有并且只有一朵花盛开,从这天起,这朵花将一直处于盛开的状态. 给定一个由数字1到N组成的数组flowers.数组 ...

  7. Vue第三方库与插件实战手册

    title: Vue第三方库与插件实战手册 date: 2024/6/8 updated: 2024/6/8 excerpt: 这篇文章介绍了如何在Vue框架中实现数据的高效验证与处理,以及如何集成E ...

  8. SpringMVC 工作原理?

    a.客户端发送请求到 DispatcherServlet b.DispatcherServlet 查询 handlerMapping 找到处理请求的 Controller c.Controller 调 ...

  9. JsonPath - 根据表达式路径解析Json

    JsonPath 在xml的使用过程中,对于xml的解析我们知道可以使用xpath的方式,随意的获取到我们想要的属性值.那么在使用json时,我们能不能实现同样的操作呢? 答案就是 json-path ...

  10. javascript 类class设置访问器setter时出现Maximum call stack size exceeded错误

    Maximum call stack size exceeded这个错误的意思是调用栈溢出,但是自己写的代码基本不可能出现.所以可能的原因是A调用了B,然后B再调用A,形成了循环调用.或者说是A自己调 ...