引言:

  自动化脚本编写时,一般会遇到需要构造数据的情况,比如注册时的基本信息;每次执行脚本都要重新构造数据显然是很费时费力的事情,所以可以用到faker模块来构造;方便快捷,神器也;

一、安装

  pip install -U faker

二、基本用法

  1.创建10次不同的用户名:

from faker import Factory

def create_names():
    fake = Factory.create()
    ):
        print fake.name()

if __name__ == '__main__':
    create_names()

  随机产生10个符合命名规则的假数据,因为名字规则是按外国人名涉及的,所以可能会有很多概率出现姓名之外的简称等

>>>
============== RESTART: C:\Users\hao\Desktop\faker_test.py ==============
David MartinMrs. Terese Walter MDJess MayertMs. Katerina Fisher PhDMrs. Senora Purdy PhDGretchen TrompWinnie GoodwinYuridia McGlynn MDMelissa Kent April Washington >>>

  2.生成只有姓和名的数据

from faker import Factory

def create_names():
    fake = Factory.create()
    ):
        print '%s %s' % (fake.last_name(), fake.first_name())

if __name__ == '__main__':
    create_names()

  生成的数据只包含了last_name和first_name

>>>
============== RESTART: C:\Users\lizihao\Desktop\faker_test.py ==============
Gillespie Travis
Gomez Brandon
Wiley Jim
Anderson Amber
Walker Desiree
Miranda Elizabeth
Johnson Samantha
Tanner David
Keller Allison
Sanchez Kaylee
>>> 

  3.还有一些常用的数据,比如用户名、密码、电话、住址、城市等等

from faker import Factory

def create_fake_stuff():
    stuff = ['user_name', 'password', 'email', 'phone_number', 'address', 'city', 'state', 'paragraph']
    fake = Factory.create()
    for item in stuff:
        print '%s = %s' % (item, getattr(fake, item)())

if __name__ == '__main__':
    create_fake_stuff()

  生成的对应的数据:

>>>
============== RESTART: C:\Users\lizihao\Desktop\faker_test.py ==============
user_name = kevin04
password = PN5xUyd5n$
email = rodriguezwilliam@hotmail.com
phone_number = --
address =  Brett Glens
Port Jeffrey, MD
city = Meltonbury
state = Arizona
paragraph = Iure odit voluptatibus quidem iste. Omnis ab ab voluptas consequuntur earum repellendus corrupti.
>>> 

三、其余的用法

  如果想知道faker都能生成哪些规则的数据,可以创建fake对象,然后dir(fake);

>>> from faker import Factory
>>> fake = Factory.create()
>>> dir(fake)
>>> 

  得到的结果是:

  

  需要什么样的数据就在里面找吧,一般都能满足你的需要;

最新文章

  1. Java + 腾讯企业邮箱 + javamail + SSL 发送邮件
  2. JSP 甜点
  3. jQuery HTML 操作
  4. mysql-case ... when...then...else...end处理判断赋值机制
  5. Linux命令-mkdir
  6. POJ 1850 Code(组合数)
  7. MapReduce 运行机制
  8. Yii2 验证规则
  9. git bash 下操作文件及文件夹命令
  10. 【jquery隐藏、显示事件and提示callback】【淡入淡出fadeToggle】【滑入滑出slideToggle】【动画animate】【停止动画stop】
  11. layui框架学习记录
  12. 移动端页面滑动时候警告:Unable to preventDefault inside passive event listener due to target being treated as passive.
  13. 在虚拟机中安装ubuntu16.04后不能全屏显示
  14. ZT pthread_cleanup_push()/pthread_cleanup_pop()的详解
  15. 总结一下前端面试题之Html和CSS
  16. locatin
  17. *SCM-MANAGERtomcat寄宿使用
  18. vi编辑器备忘录
  19. Cesium.js学习第一天(设置材质)
  20. wget.vbs & wget.ps1

热门文章

  1. [LeetCode&Python] Problem 476. Number Complement
  2. C#单例的多种写法
  3. HDU 4135:Co-prime(容斥+二进制拆分)
  4. Fire Game 双向bfs
  5. 《DSP using MATLAB》Problem 4.16
  6. Anaconda+Tensorflow环境安装与配置
  7. [题解] CodeM美团点评编程竞赛资格赛题
  8. MySQL--查询表统计信息
  9. TensorFlow笔记-07-神经网络优化-学习率,滑动平均
  10. php利用curl获取网页title内容