Skip to main content

enhancement universally unique identifier

Project description

[ 中文 | English ]

euuid

python生成uuid(通用唯一识别码)总共有5种方法。这个包提供了另外三个方法生成uuid,是对uuid的python包补充。

安装

pip install euuid

原理

  • 第一种方法 euuid : uuid = 随机字符串 + 时间戳, 有可以被忽略不计的概率生成重复的id

    • 随机字符串是从英文字母和数字里随机抽取n个组成的字符串,数字n默认为12,也可自定义。数字n默认为12时每毫秒会出现重复的概率为 1/4738381338321616896,由于概率极小可认为每次生成的id是不重复的。
    • 时间戳取毫秒
  • 第二种方法 euuid2 : uuid = 自增数字id + 随机字符串 + 时间戳, 可以生成完全不重复的id

    • 自增数字id : 0, 1, 2, 3, ... , n
    • 随机字符串是从英文字母里随机抽取的字符串,其长度等于输入的数量减自增数字id的字符长度。随着自增数字id的字符长度变大,随机字符串的长度会变成0
  • 第三种方法 euuid3 : uuid = 自定义标记字符串 + # + 随机字符串 + 时间戳, 可以生成完全不重复的id

    • 随机字符串是从英文字母和数字里随机抽取n个组成的字符串,若自定义标记字符串的长度大于等于12则随机字符串为空,反之随机字符串的长度等于12减自定义标记字符串的长度
    • 默认返回base64编码后的数据

使用

euuid

from euuid import euuid

print(euuid())

euuid2

from euuid import euuid2

# 初始化类,输入自增数字的namespace
# 默认自增数字id的保存位置是当前目录,文件名euuid.pkl, 也可以自定义
# 自定义:   euid = euuid2('test', './test.pkl') 
euid = euuid2('test')
# 打印开始的自增数字id
print(euid.number_id)

# 打印自增数字id 加上 随机生成str的长度, 默认是12,也可以自定义
print(euid.str_len)

# 输出10个uuid
for i in range(10):
    print(euid.generate_unique_id())
# 保存自增后的数字id
euid.change_number_id()

euuid3

from euuid import euuid3

# 默认返回base64编码后的数据
print(euuid3('panda'))

# 返回未经base64编码后的数据
print(euuid3('panda', is_base64=False))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

euuid-0.0.5.tar.gz (8.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page