random.choice()在同一秒返回相同的值,如何避免它呢?

random.choice()在同一秒返回相同的值,如何避免它呢?,第1张

random.choice()在同一秒返回相同的值,如何避免它呢?

您可以使用

random.SystemRandom()
以下方法改善问题:

import randomsys_random = random.SystemRandom()def getRandomId():    token = ''    letters = "abcdefghiklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"    for i in range(1, 36):        token = token + sys_random.choice(letters)    return tokenprint(getRandomId())

这试图使用

os.urandom()
从 *** 作系统提供的源生成随机数函数。该
.choices()
函数还可用于在单个调用中返回选择列表,从而避免了字符串串联:

import randomsys_random = random.SystemRandom()def getRandomId():    letters = "abcdefghiklmnopqrstuvwwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"    return ''.join(sys_random.choices(letters, k=35))print(getRandomId())


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存