文章目录

  • random库
    • 生成一个指定长度的随机字符串
  • Faker库
    • 生成不重复的数据

random库

random是python自带库,使用前导入 import random 即可,无需安装。

函数 说明
random.random() 生成一个[0, 1)的随机浮点数
random.uniform(a, b) 生成一个[a, b)的随机浮点数
random.randint(a, b) 生成一个[a, b]的随机整数
random.choice(series) 从series序列中返回一个任意的元素,series可为字符串、列表、元组
random.sample(series, num) 从series序列中返回任意num个元素组成的一个列表
random.shuffle(series) 将列表中的所有元素打乱
random.randrange(a, b, step) 返回[a, b)按指定递增基数step集合中的一个随机数

举例:

import randomprint(random.random())  # 0.8564557389763434
print(random.uniform(0, 100))   # 78.19630268831175
print(random.randint(0, 100))   # 45print(random.choice('12345')) # 4
print(random.choice([1,2,3,4,5]))   # 1
print(random.choice((1,2,3,4,5)))   # 5print(random.sample('12345', 3))   # ['1', '5', '2']
print(random.sample([1,2,3,4,5], 3))    # [5, 4, 1]
print(random.sample((1,2,3,4,5), 3))    # [4, 5, 1]list = [1, 2, 3, 4, 5]
random.shuffle(list)
print(list) # [3, 5, 4, 1, 2]print(random.randrange(0,20,5))    # 10

生成一个指定长度的随机字符串

  1. 使用random.randint(0,n)
    思路:定义一个基础字符序列,要产生多长的字符串就循环调用多少次random.randint(0,n),n=基础字符序列的长度,在这个序列中选择随机位置的字符,然后进行拼接返回。

    import random
    import stringdef generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串"""random_str =''# 使用string库中的字母、数字和标点符号组成一个基础字符序列base_str = string.ascii_letters + string.digits + string.punctuationlength =len(base_str) -1for i in range(randomlength):random_str +=base_str[random.randint(0, length)]return random_strprint(generate_random_str(30))   # T`^7:C?z4h0qd!JpO:MFNB2_GL>dXm
  2. 使用random.choice()随机选择

    import random
    import stringdef generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串"""# 使用string库中的字母、数字和标点符号拼接程序列str_list = [random.choice(string.ascii_letters + string.digits + string.punctuation) for i in range(randomlength)]random_str = ''.join(str_list)return random_strprint(generate_random_str(30))  # ')8D@Bu&\1ltf!}HUcI-.;^>Vy[n|V
  3. 使用random.simple()随机选择

    import random
    import stringdef generate_random_str(randomlength=16):"""生成一个指定长度的随机字符串"""# 使用string库中的字母、数字和标点符号组成一个基础字符序列base_str = string.ascii_letters + string.digits + string.punctuationstr_lst = random.sample(base_str, randomlength)   #randomlength<=lenth(base_str)random_str = ''.join(str_lst)return random_str

Faker库

使用Faker库可生成各种各样的伪数据(姓名、地址、邮箱、电话、密码、一段文字、一句话等)。
安装:pip install faker
导入:from faker import Faker
示例:

from faker import Faker
fk = Faker(locale='zh-Cn')# 姓名
print(fk.name())    # 刘娜
# 身份证
print(fk.ssn())     # 141022195412020845
# 手机号
print(fk.phone_number())    # 18226186826
# 邮箱
print(fk.email())   # zoujie@example.org
  • 个人信息类

    函数 说明
    fk= Faker(‘zh_CN’) 默认生成的数据为为英文,使用zh_CN指定为中文
    fk.name() 姓名
    fk.ssn() 身份证
    fk.phone_number() 手机号
    fk.email() 邮箱
    fk.credit_card_number() 银行卡号
    fk.address() 带邮政编码的地址
    fk.company() 公司名称
    fk.job() 职称
    fk.email() 邮箱
    fk.profile() 档案信息
    fk.simple_profile() 简单的档案信息
  • 数字类

    函数 说明
    fk.numerify() 三位随机数字
    fk.random_digit() 一位[0, 9]的随机数
    fk.random_int() 一位[0, 9999]的随机数, 可设置[min, max]
    fk.random_number() 随机长度数字
  • 文本、加密类

    函数 说明
    fk.random_element()
    fk.random_letter()
    随机一位字母
    fk.pystr() 随机长度字符串
    fk.word() 随机一个词语
    fk.sentence() 随机一个句子
    fk.paragraph() 随机一个段落
    fk.text() 随机一篇文章
    fk.url() 随机url
    fk.md5() 随机生成md5
    fk.password() 随机生成密码
  • 日期类

    函数 说明
    fk.year()
    fk.month()
    fk.date() 日期:年月日
    fk.past_date() 过去时间:年月日
    fk.date_this_year() 当前年份:年月日
    fk.future_date() 未来时间:年月日
    fk.date_between(start_date=‘-3y’, end_date=‘+1y’) 自定义日期范围,3年前到1前后之间的
    fk.date_time() 年月日 时分秒
    fk.future_datetime() 未来时间:年月日 时分秒
    fk.date_time_between(start_date=‘-3y’, end_date=‘+1y’) 自定义时间范围,3年前到1前后之间的
    fk.time() 随机24小时时间
  • 地理信息类

    函数 说明
    fk.country() 国家
    fk.country_code() 国家编码
    fk.province() 省份
    fk.city() 城市
    fk.district()
    fk.postcode() 邮编

生成不重复的数据

from faker import Faker
fk = Faker(locale='zh-Cn')# 从[0,9]中随机获取7位数字(可重复)
print([fk.random_digit() for i in range(7)])    # [2, 0, 7, 8, 2, 3, 2]
# 从[0,9]中随机获取7位数字(不可重复)
print([fk.unique.random_digit() for i in range(7)])     # [4, 9, 3, 6, 8, 5, 2]

Python生成随机数字/字符相关推荐

  1. 【Excel】生成随机数字/字符

    文章目录 常用函数 生成一个随机小写字母 生成一个随机大写字母 生成一个随机数字 生成随机一个数字或大小写字母 生成一个任意汉字 生成随机手机号 生成随机人名 常用函数 函数 说明 RAND() 生成 ...

  2. python生成随机数字

    整数 random random.sample(range(0,10),10) #生成 [0-10),之间不重复的10个整数,不是小数 random.sample(range(0,30),10) np ...

  3. Python生成随机五位数——模仿手机验证码

    使用Python生成随机的五位手机验证码. # -*- coding:utf-8 -*-#生成五位随机数,模仿手机验证码#导入random库,可以生成随机数 import randomdef ran( ...

  4. 用Python生成随机的中文验证码图片

    大家都在 Python论坛里讨论.交流,你还在等什么!赶快加入! 在登录很多网站的时候,他们已经不在使用简单的英文和数字的验证码,为了防止恶心注册和群发软件的侵袭,现在都开始使用中文的验证码了. 今天 ...

  5. Linux生成随机数字和字符串

    生成随机数字 使用系统的$RANDOM变量 > echo $RANDOM 14587 使用date +%s%N > date +%s%N 1529584024896587259 使用/de ...

  6. python生成随机数组_python3.x 生成3维随机数组实例

    python3.x 生成3维随机数组实例 如下所示: import numpy as np a=np.random.randint(0,10,size=[3,3,3]) print(a) 以上这篇py ...

  7. python 生成随机图片

    python numpy生成随机图 # -*- coding: utf-8 -*-import numpy as np import cv2grayImage=np.random.randint(0, ...

  8. mysql生成随机验证码_MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法...

    上一篇介绍了如何在 Oracle 生成随机数字.字符串.日期.验证码以及 UUID,今天我们继续讨论在 MySQL 中生成各种随机数据的方法.

  9. python生成随机整数

    python生成随机不重复的整数,用random中的sample index = random.sample(range(0,10),10) 上面是生成不重复的10个从1~10的整数 python生成 ...

  10. Java生成随机数字和字母组合10位数

    /**               * java生成随机数字和字母组合10位数               * @param length[生成随机数的长度]               * @ret ...

最新文章

  1. c语言eof_C语言 技能提升 系列文章(十)错误处理
  2. 科普扫盲,HTTP Status Code详解,从此排错无忧!
  3. mybatis的缓存机制是怎么样的?
  4. futuretask java 并发请求_Java并发编程:Callable、Future和FutureTask
  5. 对我国超级计算机的应用,要加强我国超级计算机应用人才储备
  6. [论文阅读] Multiple Instance Active Learning for Object Detection
  7. spring boot 配置启动后执行sql, 中文乱码
  8. matlab最小二乘法解超定方程,超定方程和最小二乘法
  9. pycharm专业版使用
  10. systrace学习笔记
  11. 【进阶】python写一个小猫
  12. 49个excel常用技巧(一)
  13. 我的世界android启动器,我的世界手机版启动器 安卓方块启动器教程
  14. python操作sqlite数据库
  15. 教你检查Mac电池的健康度
  16. 破解flowplayer
  17. 老司机的奇怪noip模拟T3-zhugeliang
  18. 最新流量卡官网介绍单页源码
  19. 永久免费开源在线客服系统推荐收藏
  20. 简单实用的批量去除水印方法及操作步骤

热门文章

  1. Linux C 函数参考(日期时间) 作者: 出处:hur.cn 更新时间: 2007年01月29日
  2. codewars练习(javascript)-2021/2/5
  3. Android生物识别
  4. 技巧篇 之 Just do it (这将会是一个漫长的历程。。。)
  5. 界面配色方案(转载)
  6. <数据结构> rear指针指向队尾元素 牺牲一个存储位置 的循环队列实现(C语言)(第4种/共6种)
  7. 陈省身文集51——闭黎曼流形高斯-博内公式的一个简单的内蕴证明
  8. 独家|撒谎不眨眼的“女乔布斯”和她的帝国覆灭记
  9. 最新PHP对接微信支付,发起商家转账API,商家转账到零钱
  10. 概率论之多元随机变量及其分布