前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。
作者:行哥
今天給大家介紹一個Faker模組,一款基於Python的測試資料生成工具,無論是用於初始化資料庫,建立XML檔案,或是生成壓測資料,Faker都是不錯的選擇。
- 1.Faker工具包
- 2.生成資料
- 2.1 獲取隨機資料
- 2.2 生成本地化資料
- 3.最後
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())