【发布时间】:2021-03-09 17:47:58
【问题描述】:
我想看看如何在 python 中创建一组固定长度(比如长度为 12)的唯一 ID,它使用所有字母数字字符的特定子集。这里的用例是这些 ID 需要人们阅读并在打印文档中引用,因此我尽量避免使用字符 L、I、O 和数字 0、1。我当然需要能够生成根据需要新的 ID。
我在其他答案中查看了 UUID 函数,但无法找到一种方法来使用该函数来满足我的要求。我已经做了很多搜索,但如果重复,请道歉。
编辑:到目前为止,我尝试使用 UUID,如 here 所述。还有hashids 函数。但无法想出使用它们的方法。我能想出的下一个最佳解决方案是创建一个随机字符串列表,并检查所有现有的 id。但这似乎效率很低。
【问题讨论】:
-
你能告诉我们你到目前为止所做的尝试吗?
-
不能解决你的问题,但我相信有特殊的字体类型可以避免字符之间的混淆。这可以让你的问题更容易一些。
-
只有两种方法可以保证唯一性。首先是让 ID 变得巨大,并包含已知唯一的元素;这就是 UUID 的工作方式。其次是拥有一个只发布唯一号码的数据库,但每个人都会被绑定到该数据库。
标签: python