如何在uuid python中获得有限的数字?
我只想要10位数的唯一整数。我该怎么做?请帮帮我如何在uuid python中获得有限的数字?,python,python-3.x,uuid,Python,Python 3.x,Uuid,我只想要10位数的唯一整数。我该怎么做?请帮帮我 import uuid uuid.uuid4().int 输出 155824466611029597996750071195809352096 试试看 import uuid str(uuid.uuid4().int)[:10] 更好的办法是生成具有所需长度的加密令牌。这也有发生冲突的可能性,但我认为这比被截断的UUID要小得多 其他解决方案 int没有可下标的对象。所以试着把它转换成str然后切片 import uuid x = str(
import uuid
uuid.uuid4().int
输出
155824466611029597996750071195809352096
试试看
import uuid
str(uuid.uuid4().int)[:10]
更好的办法是生成具有所需长度的加密令牌。这也有发生冲突的可能性,但我认为这比被截断的UUID要小得多
其他解决方案
int
没有可下标的对象。所以试着把它转换成str
然后切片
import uuid
x = str(uuid.uuid4().int)
print(x[:10])
您还可以使用hex
值
uuid.uuid4().hex[:10]
这是可行的。但它仍然是独一无二的吗?我认为是独一无二的。但老实说,这不是一个好的解决方案。是的,它是唯一的,但由于您正在从原始UUID中丢弃字节,因此Python的UUID生成器很可能会生成相同的值两次。@BB_Mevada。更好的办法是生成具有所需长度的加密令牌。这也有可能发生碰撞,但我想这比截断的UUID要小得多。@BB_Mevada