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 12 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
windows下python和pip安装教程
May 25 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
Python利用sqlacodegen自动生成ORM实体类示例
Jun 04 Python
三步实现Django Paginator分页的方法
Jun 11 Python
Django学习之文件上传与下载
Oct 06 Python
Django+boostrap 美化admin后台的操作
Mar 11 Python
Python数据分析入门之数据读取与存储
May 13 Python
python中%格式表达式实例用法
Jun 18 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版(3)
2006/10/09 PHP
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
php session劫持和防范的方法
2013/11/12 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
Javascript操作cookie的函数代码
2012/10/03 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
python实现感知器算法详解
2017/12/19 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
查看python下OpenCV版本的方法
2018/08/03 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
Matlab中plot基本用法的具体使用
2020/07/17 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
南非领先的在线旅行社:Travelstart南非
2016/09/04 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
教师考核材料
2014/05/21 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
投资合作意向书范本
2015/05/08 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL