亲宝软件园·资讯

展开

Python 随机生成测试数据的模块faker Python 随机生成测试数据的模块:faker基本使用方法详解

随风行云 人气:0

本文实例讲述了Python 随机生成测试数据的模块:faker基本使用方法。分享给大家供大家参考,具体如下:

本文内容:

  1. faker的介绍
  2. faker的使用
  3. 小例子:生成随机的数据表信息

首发日期:2018-06-15


faker介绍:

官方文档:https://faker.readthedocs.io/en/master/index.html


faker的使用:

1.安装模块

pip3 install Faker

【使用faker也能识别成功,不过新版已经更新为Faker】

2.导入模块

from faker import Faker

【主要使用的是Factory类,而导入Faker,会同时导入Factory】

image

3.使用步骤:

from faker import Faker


# fake=Faker() #默认生成美国英文数据
fake=Faker(locale='zh_CN')

# 地址类
print("地址类".center(20,"-"))
print(fake.address())#海南省成市丰都深圳路p座 425541
print(fake.street_address())#深圳街X座
print(fake.street_name())#长沙路
print(fake.city_name(),fake.city())#兰州 贵阳市 (相差“市”)
print(fake.province())#陕西省


#公司类:
print("公司类".center(20,"-"))
print(fake.company())#惠派国际公司信息有限公司
print(fake.company_suffix())#网络有限公司
print(fake.company_prefix())#鑫博腾飞

#个人信息类
print("个人信息类".center(20,"-"))
print(fake.name())#东浩
print(fake.simple_profile())
#{'username': 'leihan', 'name': '武帅', 'sex': 'F', 'address': '吉林省淮安市双滦家街C座 210434', 'mail': 'lishao@hotmail.com', 'birthdate': '1988-11-12'}
print(fake.user_name(),fake.password(special_chars=False))#ajiang zI2QbHy02p

#文章类
print("文章类".center(20,"-"))
print(fake.word())#当前
print(fake.words(3))#['欢迎', '支持', '图片']
print(fake.sentence(3))#精华有关一些.
print(fake.paragraph())#大家电话空间一起操作图片要求.上海发展到了之间用户也是的人.必须记者关系介绍注册.用户时候投资发布.

常用方法:

https://faker.readthedocs.io/en/master/locales/zh_CN.html 由于主要使用中文数据,所以提供常见的方法示例是中文的。想要了解其他的,可以在官网点击其他语言,参考示例结果,不过方法大体上都是相同的。

地址信息类:

公司信息类:

日期类:

网络类:

个人信息类:

文章类:

数据类型类:

PS:

想了解Faker的更多用法,可以参考官方文档:https://faker.readthedocs.io/en/master/index.html


小例子:生成随机的数据表信息

注意:这里为了例子简便,对于数据库操作就直接使用“命令式”的了,而不使用ORM模型式的了。

实现过程:

  1. 利用pymysql连接数据库
  2. 创建表
  3. 利用fake格式化要插入的数据
  4. 利用pymysql执行插入语句

代码:

import pymysql
from faker import Faker

conn=pymysql.connect(host="localhost",port=3306,user="root",password="123456",db="it",charset="utf8")

cursor=conn.cursor()
#这里给出表结构,如果使用已存在的表,可以不创建表。
sql="""
create table user(
id int PRIMARY KEY auto_increment,
username VARCHAR(20),
password VARCHAR(20),
address VARCHAR(35) 
)
"""
cursor.execute(sql)
fake=Faker("zh-CN")
for i in range(20):
  sql="""insert into user(username,password,address) 
  values('%s','%s','%s')"""\
    %(fake.user_name(),fake.password(special_chars=False),fake.address())
  cursor.execute(sql)

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

结果:

image

PS:这里再提供几款相关工具供大家参考使用:

在线随机生成个人信息数据工具:
http://tools.softyun.net/aideddesign/rnd_userinfo

在线随机字符/随机密码生成工具:
http://tools.softyun.net/aideddesign/rnd_password

在线随机数字/字符串生成工具:
http://tools.softyun.net/aideddesign/suijishu

希望本文所述对大家Python程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论