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


Posted in Python onNovember 06, 2019

方法一:

定义一个函数,参数为所要生成随机字符串的长度。通过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实现的数据结构与算法之快速排序详解
Apr 22 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
centos7之Python3.74安装教程
Aug 15 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
Python print不能立即打印的解决方式
Feb 19 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
详解Python list和numpy array的存储和读取方法
Nov 06 #Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 #Python
Python list与NumPy array 区分详解
Nov 06 #Python
Django实现WebSSH操作物理机或虚拟机的方法
Nov 06 #Python
django 简单实现登录验证给你
Nov 06 #Python
Python数据可视化:箱线图多种库画法
Nov 06 #Python
使用Python完成15位18位身份证的互转功能
Nov 06 #Python
You might like
PHP 万年历实现代码
2012/10/18 PHP
基于php实现长连接的方法与注意事项的问题
2013/05/10 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
2015/04/17 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
教你php如何实现验证码
2016/01/20 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
解决laravel资源加载路径设置的问题
2019/10/14 PHP
JS 对象介绍
2010/01/20 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
javascript中的undefined和not defined区别示例介绍
2014/02/26 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
python爬虫基本知识
2018/03/05 Python
python实现批量图片格式转换
2020/06/16 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
团支书竞选演讲稿
2014/04/28 职场文书
市场调查策划方案
2014/06/10 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
尊师重教主题班会
2015/08/14 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
Python中使用ipython的详细教程
2021/06/22 Python
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL