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 23 Python
python读写文件操作示例程序
Dec 02 Python
Tornado Web服务器多进程启动的2个方法
Aug 04 Python
Python将阿拉伯数字转换为罗马数字的方法
Jul 10 Python
Python中三元表达式的几种写法介绍
Mar 04 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
python读取指定字节长度的文本方法
Aug 27 Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
PYcharm 激活方法(推荐)
Mar 23 Python
Python yield生成器和return对比代码实例
Apr 20 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
关于PHP中Object对象的笔记分享
2011/06/28 PHP
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
jQuery语法小结(超实用)
2015/12/31 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
用Python实现一个简单的线程池
2015/04/07 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Django中使用locals()函数的技巧
2015/07/16 Python
使用Python对Excel进行读写操作
2017/03/30 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Django通过json格式收集主机信息
2020/05/29 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
什么是网络协议
2016/04/07 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
展会邀请函范文
2014/01/26 职场文书
文秘人员工作职责
2014/01/31 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
党员承诺书范文2015
2015/04/27 职场文书
《梅花魂》教学反思
2016/02/18 职场文书