摘要:如何使用創(chuàng)建假數(shù)據(jù)有些時(shí)候我們需要一些假數(shù)據(jù)來(lái)測(cè)試,在中有一款非常好用的包,,可以滿足這類(lèi)的需求。
如何使用faker創(chuàng)建假數(shù)據(jù)
有些時(shí)候我們需要一些假數(shù)據(jù)來(lái)測(cè)試,在python中有一款非常好用的包,faker,可以滿足這類(lèi)的需求。
項(xiàng)目地址 https://github.com/joke2k/faker
pip install faker
或者
直接上 github 下載安裝即可
要?jiǎng)?chuàng)建假數(shù)據(jù),需要先有一個(gè)faker實(shí)例
from faker import Faker fake = Faker()
然后調(diào)用方法即可
fake.name() # "Kristen Ward" fake.address() # "26745 Todd Park" # "West Jamie, NV 91152-9807"
在faker中,name和address這種方法被稱(chēng)為提供器,提供器的類(lèi)型很多,除了上面提到的name和address,還有:
company : 公司
zipcode : 郵編
bothify :創(chuàng)建隨機(jī)字符,他接受參數(shù)text,然后把text中的#和?替換成隨機(jī)的數(shù)字和字母,例子:
fake.bothify(text="### => ???") # 849 => DXX
實(shí)際上他是同時(shí)調(diào)用了lexify和numerify,兩者同樣需要一個(gè)text參數(shù),分別把text中的#和?替換為隨機(jī)數(shù)字和字母
faker的提供器很多,想查找更多提供器,請(qǐng)看:https://faker.readthedocs.io/...
本地化:想要?jiǎng)?chuàng)建中文數(shù)據(jù),可以使用下面的方法:
fake = Faker("zh_CN")
Faker接受的本地化參數(shù),創(chuàng)建的對(duì)象會(huì)生成對(duì)應(yīng)語(yǔ)言的數(shù)據(jù),如果沒(méi)有找到對(duì)應(yīng)的語(yǔ)言,會(huì)使用默認(rèn)的"en_US"
可以在 https://faker.readthedocs.io/... 中查看所有支持的語(yǔ)言
有時(shí)候,你會(huì)想要?jiǎng)?chuàng)建自己的提供器,這時(shí)候只需要繼承提供器的基類(lèi),并實(shí)現(xiàn)一些方法,隨后調(diào)用add_provider將類(lèi)加入到faker實(shí)例中即可
from faker import Faker fake = Faker() # 引入基類(lèi) from faker.providers import BaseProvider # 創(chuàng)建并繼承,實(shí)現(xiàn)方法 class MyProvider(BaseProvider): def foo(self): return "bar" # 添加到實(shí)例中 fake.add_provider(MyProvider) # 調(diào)用 fake.foo() # "bar"隨機(jī)種子:
當(dāng)你想要生成相同的數(shù)據(jù)時(shí),你需要調(diào)用faker的seed方法為其設(shè)置種子,這樣之后使用提供器的時(shí)候,便會(huì)產(chǎn)生相同的內(nèi)容
fake.seed(136) fake.name() # "Kelsey Hamilton"
注意,在設(shè)置隨機(jī)種子后,如果調(diào)用同一個(gè)提供器兩次,第二次調(diào)用會(huì)使faker實(shí)例的種子失效
fake.seed(1) fake.name() # "Ryan Gallagher" fake.address() # "7631 Johnson Village Suite 690 Adamsbury, NC 50008" fake.name() # "Stanley Parks" fake.seed(1) fake.name() # "Ryan Gallagher" fake.name() # "Jon Cole" fake.address() # "70669 Heather Grove New Sierra, WI 00080-6360"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40867.html
摘要:本文首發(fā)于作者這是一篇基礎(chǔ)教程,對(duì)標(biāo)文檔中的數(shù)據(jù)遷移和數(shù)據(jù)填充。那么,中的數(shù)據(jù)庫(kù)遷移概念,就是用于解決團(tuán)隊(duì)中保證數(shù)據(jù)庫(kù)結(jié)構(gòu)一致的方案。和不同,如果多次執(zhí)行就會(huì)進(jìn)行多次數(shù)據(jù)填充。好了,數(shù)據(jù)遷移和數(shù)據(jù)填充的基本操作也就這些了。 showImg(https://segmentfault.com/img/remote/1460000012252769?w=648&h=422); 本文首發(fā)于 h...
摘要:我們很容易修改緩存驅(qū)動(dòng)方式。這樣的話,我們甚至根本不必檢查緩存是否過(guò)期。與驅(qū)動(dòng)相比,和的速度更快,所以建議在項(xiàng)目較大時(shí)使用外部緩存驅(qū)動(dòng)。結(jié)論使用文件數(shù)據(jù)庫(kù)作為驅(qū)動(dòng),兩者在速度上沒(méi)有很明顯的區(qū)別。所以投資高速緩存是值得的。 showImg(https://segmentfault.com/img/remote/1460000014057714?w=1440&h=720); 緩存是web開(kāi)...
摘要:然而扯淡的在前端前端要發(fā)請(qǐng)求,所以每個(gè)請(qǐng)求的都是,而生產(chǎn)環(huán)境服務(wù)器又是。前端方案因?yàn)槲沂窃谛I?,沒(méi)辦法了解到大公司的開(kāi)發(fā)方式。可能后端就任性就不遵守,那么這個(gè)前端只能靠來(lái)調(diào)整,然而更多的情況是沒(méi)辦法調(diào)整的。 在一個(gè)中大型項(xiàng)目中,你不可能一邊寫(xiě)著前端一邊寫(xiě)后端。全棧太難 :) 像rails那樣的開(kāi)發(fā)模式已經(jīng)很不適合當(dāng)前的環(huán)境了。所有的項(xiàng)目都嚷嚷著前后端分離,那就只能這么干 我之前在做大...
摘要:下面是一個(gè)例子這個(gè)庫(kù)要求你至少安裝了和其中的一個(gè),這可能意味著,在大多數(shù)主機(jī)提供商提供的主機(jī)上它可能用不了。借助它,你可以忘記如何書(shū)寫(xiě)乏味的有一個(gè)姊妹庫(kù)叫,是一個(gè)基于的實(shí)現(xiàn)。 showImg(http://segmentfault.com/img/bVbJml); 作為一個(gè)PHP開(kāi)發(fā)者,現(xiàn)在是一個(gè)令人激動(dòng)的時(shí)刻。每天有許許多多有用的庫(kù)分發(fā)出來(lái),在 Github 上很容易發(fā)現(xiàn)和使用這些庫(kù)...
摘要:創(chuàng)建數(shù)據(jù)庫(kù)并且往數(shù)據(jù)庫(kù)里塞用例數(shù)據(jù)這件事情,會(huì)使我很煩躁。我寧愿花更多的時(shí)間在和如何構(gòu)建前端應(yīng)用上。初識(shí)這是一個(gè)很棒的模塊,用來(lái)數(shù)據(jù)。文檔中的代碼告訴你如何使用這些可以很快地開(kāi)發(fā)應(yīng)用原型。 showImg(https://segmentfault.com/img/remote/1460000009087720?w=800&h=418); 本文作者:Aman Mittal 編譯:胡子大...
閱讀 2168·2021-11-24 09:39
閱讀 2781·2021-07-29 13:49
閱讀 2322·2019-08-29 14:15
閱讀 2233·2019-08-29 12:40
閱讀 3312·2019-08-26 13:42
閱讀 632·2019-08-26 12:13
閱讀 2065·2019-08-26 11:41
閱讀 3345·2019-08-23 18:32