有些時候我們需要一些假資料來測試,在python中有一款非常好用的包,faker,可以滿足這類的需求。
專案位址
pip install faker
要建立假資料,需要先有乙個faker例項
from faker import faker
fake = faker()
然後呼叫方法即可
fake.name()
# 'kristen ward'
fake.address()
# '26745 todd park'
# 'west jamie, nv 91152-9807'
在faker中,name和address這種方法被稱為提供器,提供器的型別很多,除了上面提到的name和address,還有:
faker的提供器很多,想查詢更多提供器,請看:
想要建立中文資料,可以使用下面的方法:
fake = faker('zh_cn')
faker接受的本地化引數,建立的物件會生成對應語言的資料,如果沒有找到對應的語言,會使用預設的"en_us"
可以在 中檢視所有支援的語言
有時候,你會想要建立自己的提供器,這時候只需要繼承提供器的基類,並實現一些方法,隨後呼叫add_provider將類加入到faker例項中即可
from faker import faker
fake = faker()
# 引入基類
from faker.providers import baseprovider
# 建立並繼承,實現方法
class myprovider(baseprovider):
def foo(self):
return 'bar'
# 新增到例項中
fake.add_provider(myprovider)
# 呼叫
fake.foo()
# 'bar'
當你想要生成相同的資料時,你需要呼叫faker的seed方法為其設定種子,這樣之後使用提供器的時候,便會產生相同的內容
fake.seed(136)
fake.name()
# 'kelsey hamilton'
注意,在設定隨機種子後,如果呼叫同乙個提供器兩次,第二次呼叫會使faker例項的種子失效
fake.seed(1)
fake.name()
# 'ryan gallagher'
fake.address()
# '7631 johnson village suite 690\nadamsbury, nc 50008'
fake.name()
# 'stanley parks'
fake.seed(1)
fake.name()
# 'ryan gallagher'
fake.name()
# 'jon cole'
fake.address()
# '70669 heather grove\nnew sierra, wi 00080-6360'
使用faker造假資料
如要建立一批使用者,建立一段文字,或者是 號碼,抑或著是街道位址或者ip位址等等。以前要麼就是鍵盤一頓亂敲,隨便造個什麼字串出來,當然最後誰也不認識誰。現在你不要這樣做了。用faker就能滿足你的一切需求。先安裝faker pip install faker複製 建立faker物件 from fak...
如何生成比較像樣的假資料
問題 在做專案的時候經常會遇到這樣的問題 方案 其中要生成大量的沒有意義的測試資料,以便進行壓力測試,這個資料是最好生成的,只需要寫幾條sql語句,多執行幾次即可。如果不想寫sql語句,也可以使用資料生成工具 visualstudio powerdesigner datafactory等都可以使用。...
如何生成比較像樣的假資料
問題 在做專案的時候經常會遇到這樣的問題 方案 其中要生成大量的沒有意義的測試資料,以便進行壓力測試,這個資料是最好生成的,只需要寫幾條sql語句,多執行幾次即可。如果不想寫sql語句,也可以使用資料生成工具 visualstudio powerdesigner datafactory等都可以使用。...