Python-Faker-制造测试数据实例及常用方法总结

一、通过Faker制造测试数据实例

import pymysql
from faker import Faker

conn = pymysql.connect(host="10.1.35.X", port=3306, user="root", password="1qaz@WSX", db="d_report_2.2.2_test",
                       charset="utf8")

cursor = conn.cursor()
sql1 = """drop table if exists dm_test"""
sql2 = """
create table dm_test(
user_id int primary key auto_increment,
pro_name varchar(255),
use_fee double(255,2),
phone_num varchar(255),
com_name  varchar(255),
day datetime not null
)
"""
cursor.execute(sql1)
cursor.execute(sql2)
fake = Faker("zh-CN")
# 根据需求设计想要的数据,以及随机生成的数据条数
for i in range(100):
    sql = """insert into dm_test( pro_name,use_fee,phone_num,com_name,day) values ('%s','%s','%s','%s','%s')""" % (
        fake.province(), fake.pyfloat(), fake.phone_number(), fake.company(),  fake.past_datetime())
    # 执行sql并插入到数据库中
    cursor.execute(sql)

conn.commit()
cursor.close()
conn.close()

""" 基础信息类 """
# 生成身份证号
print(fake.ssn())
# 随机公司服务名
print(fake.bs())
# 随机公司名(长)
print(fake.company())
# 随机公司名(短)
print(fake.company_prefix())
# 公司性质,如'信息有限公司'
print(fake.company_suffix())
# 随机信用卡到期日,如'03/30'
print(fake.credit_card_expire())
# 生成完整信用卡信息
print(fake.credit_card_full())
# 信用卡号
print(fake.credit_card_number())
# 信用卡类型
print(fake.credit_card_provider())
# 信用卡安全码
print(fake.credit_card_security_code())
# 随机职位
print(fake.job())
# 女性名
print(fake.first_name_female())
# 男性名
print(fake.first_name_male())
# 随机生成全名
print(fake.name())
# 男性全名
print(fake.name_female())
# 女性全名
print(fake.name_male())
# 随机生成手机号
print(fake.phone_number())
# 随机生成手机号段,如139
print(fake.phonenumber_prefix())
""" 地理信息类"""
# 市县
print(fake.city_suffix())
# 国家
print(fake.country())
# 国家编码
print(fake.country_code())
# 区
print(fake.district())
# 地理坐标(维度)
print(fake.latitude())
# 地理坐标精度
print(fake.longitude())
# 邮编
print(fake.postcode())
# 省份
print(fake.province())
# 详细地址
print(fake.address())
# 街道地址
print(fake.street_address())
# 街道名
print(fake.street_name())
# 街、路
print(fake.street_suffix())
""" 邮件信息类"""
# 生成域名
print(fake.domain_name())
# 域词
print(fake.domain_word())
# 随机IP4地址
print(fake.ipv4())
# 随机IP6地址
print(fake.ipv6())
# 随机Mac地址
print(fake.mac_address())
# 网址域名后缀
print(fake.tld())
# 随机uri地址
print(fake.uri())
# 网址文件后缀
print(fake.uri_page())
# 随机url地址
print(fake.url())
# 随机用户名
print(fake.user_name())
# 随机url地址
print(fake.image_url())
"""
浏览器信息类
"""
# 随机生成Chrome的浏览器user_agent信息
print(fake.chrome())
# 随机生成FireFox的浏览器user_agent信息
print(fake.firefox())
# 随机生成IE的浏览器user_agent信息
print(fake.internet_explorer())
# 随机生成Opera的浏览器user_agent信息
print(fake.opera())
# 随机生成Safari的浏览器user_agent信息
print(fake.safari())
# 随机Linux信息
print(fake.linux_platform_token())
# 随机user_agent信息
print(fake.user_agent())

"""-数字信息"""
# 三位随机数字
print(fake.numerify())
# 0~9随机数
print(fake.random_digit())
# 1~9的随机数
print(fake.random_digit_not_null())
# 随机数字,默认0~9999,可以通过设置min,max来设置
print(fake.random_int())
# 随机数字,参数digits设置生成的数字位数
print(fake.random_number())
# 随机Float数字
print(fake.pyfloat())
# 随机Int数字(参考random_int()参数)
print(fake.pyint())
# 随机Decimal数字(参考pyfloat参数)
print(fake.pydecimal())
"""文本加密"""
# 随机字符串
print(fake.pystr())
# 随机字母
print(fake.random_element())
# 随机字母
print(fake.random_letter())
# 随机生成一个段落
print(fake.paragraph())
# 随机生成多个段落
print(fake.paragraphs())
# 随机生成一句话
print(fake.sentence())
# 随机生成多句话,与段落类似
print(fake.sentences())
# 随机生成一篇文章
print(fake.text())
# 随机生成词语
print(fake.word())
# 随机生成多个词语,用法与段落,句子,类似
print(fake.words())
# 随机生成二进制编码
print(fake.binary())
# True/False
print(fake.boolean())
# 随机生成两位语言编码
print(fake.language_code())
# 随机生成语言/国际 信息
print(fake.locale())
# 随机生成MD5
print(fake.md5())
# NULL/True/False
print(fake.null_boolean())
# 随机生成密码,可选参数:length:密码长度;special_chars:是否能使用特殊字符;digits:是否包含数字;upper_case:是否包含大写字母;lower_case:是否包含小写字母
print(fake.password())
# 随机SHA1
print(fake.sha1())
# 随机SHA256
print(fake.sha256())
# 随机UUID
print(fake.uuid4())

----根据其他博主的文章,加上自己工作的需求整理总结的~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值