您可以使用random.choice(list_of_choices)获取随机字符。然后循环遍历并获取列表,最后加入该列表以获取字符串。这里的选择列表是大写字母和数字。例如:
import string import random def get_random_string(length): random_list = [] for i in xrange(length): random_list.append(random.choice(string.ascii_uppercase + string.digits)) return ''.join(random_list) print get_random_string(10)
这将给我们输出:
'35WO8ZYKFV'
这也可以在一行中完成:
>>> ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in xrange(10)) '35WO8ZYKFV'
在Python 3中,我们有一个随机数。choices方法,它将第二个参数作为随机字符串的长度。它可以用来获得更短的版本:
>>> ''.join(random.choices(string.ascii_uppercase + string.digits), k=10) '35WO8ZYKFV'