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错误处理详解
Sep 28 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
Python绘制3D图形
May 03 Python
如何使用Python 打印各种三角形
Jun 28 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
Python字符串、列表、元组、字典、集合的补充实例详解
Dec 20 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
python 实现单例模式的5种方法
Sep 23 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
IP138 IP地址查询小偷实现代码
2010/02/15 PHP
php格式化日期实例分析
2014/11/12 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
jquery利用ajax调用后台方法实例
2013/08/23 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
打架检讨书50字
2014/01/11 职场文书
平民服装店创业计划书
2014/01/17 职场文书
教师一岗双责责任书
2014/04/16 职场文书
幼师中班个人总结
2015/02/12 职场文书
工作会议通知
2015/04/15 职场文书
停发工资证明范本
2015/06/12 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
java设计模式--建造者模式详解
2021/07/21 Java/Android