python 生成随机字符串(大小写英文字母、数字组成)、生成随机的无重复字符的字符串

生成随机的字符串

以下例子中,生成随机的字符串(大小写英文字母、数字组成)。

import random
import string

random_str = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(20))
print(random_str)
"""
X5V1ehPV5QaFQokclSL2
"""

生成随机的无重复字符的字符串

以下例子中,生成随机的无重复字符的字符串(大小写英文字母、数字组成),但其长度不能超过样本总长。

import random
import string

random_str = ''.join(random.sample(string.ascii_letters + string.digits, 20))
print(random_str)
"""
N4CHbuyAVPvJWGXniQUF
"""

 

random 模块

random.choice(seq) 从非空序列 seq 中随机选择一个元素。

random.sample(seq, k) 从序列 seq 中随机选择k个不重复的元素。

string 模块

/usr/lib/python3.7/string.py

"""

whitespace -- a string containing all ASCII whitespace

ascii_lowercase -- a string containing all ASCII lowercase letters

ascii_uppercase -- a string containing all ASCII uppercase letters

ascii_letters -- a string containing all ASCII letters

digits -- a string containing all ASCII decimal digits

hexdigits -- a string containing all ASCII hexadecimal digits

octdigits -- a string containing all ASCII octal digits

punctuation -- a string containing all ASCII punctuation characters

printable -- a string containing all ASCII characters considered printable

"""

whitespace = ' \t\n\r\v\f'

ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'

ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

ascii_letters = ascii_lowercase + ascii_uppercase

digits = '0123456789'

hexdigits = digits + 'abcdef' + 'ABCDEF'

octdigits = '01234567'

punctuation = r"""!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""

printable = digits + ascii_letters + punctuation + whitespace

猜你喜欢

转载自blog.csdn.net/xijinno1/article/details/133369641