摘要:如何使用創建假數據有些時候我們需要一些假數據來測試,在中有一款非常好用的包,,可以滿足這類的需求。
如何使用faker創建假數據
有些時候我們需要一些假數據來測試,在python中有一款非常好用的包,faker,可以滿足這類的需求。
項目地址 https://github.com/joke2k/faker
pip install faker
或者
直接上 github 下載安裝即可
要創建假數據,需要先有一個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,還有:
company : 公司
zipcode : 郵編
bothify :創建隨機字符,他接受參數text,然后把text中的#和?替換成隨機的數字和字母,例子:
fake.bothify(text="### => ???") # 849 => DXX
實際上他是同時調用了lexify和numerify,兩者同樣需要一個text參數,分別把text中的#和?替換為隨機數字和字母
faker的提供器很多,想查找更多提供器,請看:https://faker.readthedocs.io/...
本地化:想要創建中文數據,可以使用下面的方法:
fake = Faker("zh_CN")
Faker接受的本地化參數,創建的對象會生成對應語言的數據,如果沒有找到對應的語言,會使用默認的"en_US"
可以在 https://faker.readthedocs.io/... 中查看所有支持的語言
有時候,你會想要創建自己的提供器,這時候只需要繼承提供器的基類,并實現一些方法,隨后調用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 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"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40867.html
摘要:本文首發于作者這是一篇基礎教程,對標文檔中的數據遷移和數據填充。那么,中的數據庫遷移概念,就是用于解決團隊中保證數據庫結構一致的方案。和不同,如果多次執行就會進行多次數據填充。好了,數據遷移和數據填充的基本操作也就這些了。 showImg(https://segmentfault.com/img/remote/1460000012252769?w=648&h=422); 本文首發于 h...
摘要:我們很容易修改緩存驅動方式。這樣的話,我們甚至根本不必檢查緩存是否過期。與驅動相比,和的速度更快,所以建議在項目較大時使用外部緩存驅動。結論使用文件數據庫作為驅動,兩者在速度上沒有很明顯的區別。所以投資高速緩存是值得的。 showImg(https://segmentfault.com/img/remote/1460000014057714?w=1440&h=720); 緩存是web開...
摘要:然而扯淡的在前端前端要發請求,所以每個請求的都是,而生產環境服務器又是。前端方案因為我是在校生嘛,沒辦法了解到大公司的開發方式。可能后端就任性就不遵守,那么這個前端只能靠來調整,然而更多的情況是沒辦法調整的。 在一個中大型項目中,你不可能一邊寫著前端一邊寫后端。全棧太難 :) 像rails那樣的開發模式已經很不適合當前的環境了。所有的項目都嚷嚷著前后端分離,那就只能這么干 我之前在做大...
摘要:下面是一個例子這個庫要求你至少安裝了和其中的一個,這可能意味著,在大多數主機提供商提供的主機上它可能用不了。借助它,你可以忘記如何書寫乏味的有一個姊妹庫叫,是一個基于的實現。 showImg(http://segmentfault.com/img/bVbJml); 作為一個PHP開發者,現在是一個令人激動的時刻。每天有許許多多有用的庫分發出來,在 Github 上很容易發現和使用這些庫...
摘要:創建數據庫并且往數據庫里塞用例數據這件事情,會使我很煩躁。我寧愿花更多的時間在和如何構建前端應用上。初識這是一個很棒的模塊,用來數據。文檔中的代碼告訴你如何使用這些可以很快地開發應用原型。 showImg(https://segmentfault.com/img/remote/1460000009087720?w=800&h=418); 本文作者:Aman Mittal 編譯:胡子大...
閱讀 2180·2021-11-24 09:39
閱讀 2797·2021-07-29 13:49
閱讀 2327·2019-08-29 14:15
閱讀 2241·2019-08-29 12:40
閱讀 3320·2019-08-26 13:42
閱讀 640·2019-08-26 12:13
閱讀 2075·2019-08-26 11:41
閱讀 3354·2019-08-23 18:32