faker生成器生成虛擬資料的Python模組

吃著東西不想停發表於2020-07-18

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。

作者:行哥

今天給大家介紹一個Faker模組,一款基於Python的測試資料生成工具,無論是用於初始化資料庫,建立XML檔案,或是生成壓測資料,Faker都是不錯的選擇。

  • 1.Faker工具包
  • 2.生成資料
    • 2.1 獲取隨機資料
    • 2.2 生成本地化資料
  • 3.最後
faker生成器生成虛擬資料的Python模組

 

1.Faker工具包

只需要使用pip便可下載該工具包

pip install faker

如果下載速度比較慢的話,可以使用國內映象源來下載

國內源:
- 清華:https://pypi.tuna.tsinghua.edu.cn/simple
- 阿里雲:http://mirrors.aliyun.com/pypi/simple/
- 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
- 華中理工大學:http://pypi.hustunique.com/
- 山東理工大學:http://pypi.sdutlinux.org/
- 豆瓣:http://pypi.douban.com/simple/
例如:pip3 install -i https://pypi.doubanio.com/simple/ faker

2.生成資料

2.1 獲取隨機資料

使用faker.Factory.create()創造並初始化faker生成器,faker生成器可以通過訪問按所需資料型別命名的屬性來生成資料

from faker import Faker
faker = Faker() # 建立物件
print('name:', faker.name())
print('address:', faker.address())
print('text:', faker.text())

執行結果如下:

name: Jeremiah Brown
address: 32553 Brian Village Suite 438
West Jared, SC 86824
text: Care professional decision beautiful office although indeed. Newspaper away can prove history hour bank table. Area wear effect action war.

2.2 生成本地化資料

在建立物件的時候可以指定所在區域與語言生成想要的測試資料,當然也是支援中文資料的,在建立物件中加入"zh_CN"資料即可

from faker import Faker
faker = Faker("zh_CN")
for i in range(10):
    print('name:', faker.name())

執行結果如下

name: 張濤
name: 王金鳳
name: 程秀芳
name: 柳峰
name: 陳楊
name: 劉慧
name: 喻柳
name: 宋宇
name: 張巖
name: 戴波

這個工具包提供了多個方法來生成資料,利用這些方法來生成一個“女朋友”的詳細資料非常簡單

  • faker.providers.address # 地址
  • faker.providers.company # 公司
  • faker.providers.internet # 網路資訊
  • faker.providers.job # 工作
  • faker.providers.lorem # 文字
  • faker.providers.person # 個人
  • faker.providers.phone_number # 手機號碼
  • ker.providers.ssn

程式碼如下:

from faker import Faker
faker = Faker("zh_CN")
print('姓名:', faker.name())# 隨機輸出中文姓名
print('聯絡方式:', faker.phone_number())# 隨機輸出電話號碼
print('地址:', faker.address())# 隨機輸出地址
print('公司:', faker.bs())# 隨機輸出公司
print('工作:', faker.job())# 隨機輸出工作
print('郵箱:', faker.company_email())# 隨機輸出郵箱
print('文字:', faker.text())

 

相關文章