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

yipeiwu_com5年前Python基础

方法一:

定义一个函数,参数为所要生成随机字符串的长度。通过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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现单线程多任务非阻塞TCP服务端

本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * #...

Python多进程入门、分布式进程数据共享实例详解

本文实例讲述了Python多进程入门、分布式进程数据共享。分享给大家供大家参考,具体如下: python多进程入门 https://docs.python.org/3/library/m...

关于初始种子自动选取的区域生长实例(python+opencv)

关于初始种子自动选取的区域生长实例(python+opencv)

算法中,初始种子可自动选择(通过不同的划分可以得到不同的种子,可按照自己需要改进算法),图分别为原图(自己画了两笔为了分割成不同区域)、灰度图直方图、初始种子图、区域生长结果图。 另外,...

Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解

Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解

1. xadmin的介绍 django自带的admin站点虽然功能强大,但是界面不是很好看。而xadmin界面好看,功能更强大,并完全支持Bootstrap主题模板。xadmin内置了丰...

pycharm显示远程图片的实现

pycharm显示远程图片的实现

首先,你要知道pycharm可以通过ssh链接到远程服务器,并且也能够用pycharm运行远程服务器的代码。可以参考/post/173477.htm 这里配置 远程图片显示问题 如果上...