'); document.write(''); document.write('

当前位置 主页 > 网站技术 > 代码类 >

    Python中生成一个指定长度的随机字符串实现示例

    栏目:代码类 时间:2019-11-06 15:03

    方法一:

    定义一个函数,参数为所要生成随机字符串的长度。通过random.randint(a, b)方法得到随机数字,具体函数如下:

    def generate_random_str(randomlength=16):
      """
      生成一个指定长度的随机字符串
      """
      random_str = ''
      base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
      length = len(base_str) - 1
      for i in range(randomlength):
        random_str += base_str[random.randint(0, length)]
      return random_str

    测试下:

    f = generate_random_str(24)
    print (f)

    得到结果:

    gSY28gHCpTiL1yH0hO0uslM2

    方法二:

    方法一中我们采用将数字及字母罗列出来,并从中随机选择的方法进行生成,显得不够pythonic,方法二中我们采用string模块得到数字及字母,并通过列表生成式的方法得到结果。方法如下:

    import random
    import string
    
    def generate_random_str(randomlength=16):
      """
      生成一个指定长度的随机字符串,其中
      string.digits=0123456789
      string.ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
      """
      str_list = [random.choice(string.digits + string.ascii_letters) for i in range(randomlength)]
      random_str = ''.join(str_list)
      return random_str

    测试下:

    f = generate_random_str(24)
    print (f)

    得到结果:

    aCIyZ9a06gN6UlBCmrjDfX4a

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。