Python3中String模块ascii_letters和digits方法,其中ascii_letters是生成所有字母,从a-z和A-Z,digits是生成所有数字0-9。
示例如下:
Python
>>> chars = string.ascii_letters + string.digits >>> print(chars) abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
生成所有字母和数字干什么?在哪个场景中会用到呢,举个例子:比如生成激活码(优惠券),激活码一般都是字母和数字组成的,首先要有一个所有字母和数字的字符串,然后随机取出几个字母或数字。
Python
import random, string def rand_str(num, length=7): f = open('Activation_code.txt', 'w') for i in range(num): chars = string.ascii_letters + string.digits s = [random.choice(chars) for i in range(length)] f.write('{0} '.format(''.join(s))) f.close() if __name__ == '__main__': rand_str(200)
执行结果片段:
wz0dajI
25vlulV
zLHkx9Y
GGzu0Ip
RilbYKW
4WZL2IC
4syobYw
kCMky7O
oUPde55
KrMRmUX
Ct0W2Pm
wMwpPdk
ydPuy9h
Z7vo3r9