如何使用faker建立假資料

2021-09-14 08:40:14 字數 1639 閱讀 3526

有些時候我們需要一些假資料來測試,在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等都可以使用。...