Python3随机字符串

Python3

import random
import string


def get_random_string(length=6, digits=True, lowercase=False, uppercase=False, punctuation=False):
    '''
    获取随机字符串
    Args:
        length: 字符个数 number
        digits: 是否使用数字 bool
        lowercase: 是否使用小写字母 bool
        uppercase: 是否使用大写字母 bool
        punctuation: 是否使用特殊字符 bool

    Returns: [status: bool, code: string]
    '''
    optional_characters = ''
    if digits:
        optional_characters += string.digits
    if lowercase:
        optional_characters += string.ascii_lowercase
    if uppercase:
        optional_characters += string.ascii_uppercase
    if punctuation:
        optional_characters += string.punctuation
    if optional_characters == '':
        return False, optional_characters
    else:
        random_string = ''.join(random.sample(optional_characters, length))
        return True, random_string


if __name__ == '__main__':
    is_success, code = get_random_string(6, lowercase=True)
    if is_success:
        print(code)

string模块

>>> import string
>>> dir(string)
['Formatter', 'Template', '_ChainMap', '_TemplateMetaclass', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace']
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> 
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> 
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> 
>>> string.digits
'0123456789'
>>> 
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> 
>>> string.octdigits
'01234567'
>>> 
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值