Python中的随机字符串



Answers

由于这个问题是相当的,呃,随机的,这可能适用于你:

>>> import uuid
>>> print uuid.uuid4()
58fe9784-f60a-42bc-aa94-eb8f1a7e5c17
Question

你如何在Python中创建一个随机字符串?

我需要它是数字然后字符重复直到你完成这是我创建的

def random_id(length):
    number = '0123456789'
    alpha = 'abcdefghijklmnopqrstuvwxyz'
    id = ''
    for i in range(0,length,2):
        id += random.choice(number)
        id += random.choice(alpha)
    return id



你并没有真正地说过你需要什么样的随机字符串。 但无论如何,你应该看看random模块。

下面粘贴了一个非常简单的解决方案。

import random

def randstring(length=10):
    valid_letters='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    return ''.join((random.choice(valid_letters) for i in xrange(length)))

print randstring()
print randstring(20)






回答原始问题:

os.urandom(n)

引用来自: http://docs.python.org/2/library/os.html : http://docs.python.org/2/library/os.html

返回适合密码使用的n个随机字节的字符串。

该函数从OS特定的随机源中返回随机字节。 返回的数据对于加密应用程序来说应该是不可预知的,尽管它的确切质量取决于操作系统的实现。 在类UNIX系统上,它将查询/ dev / urandom,并在Windows上使用CryptGenRandom。 如果未找到随机源,则会引发NotImplementedError。

要获得由平台提供的随机数生成器的易用界面,请参阅random.SystemRandom。






Links