<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 造假數(shù)據(jù)咯

          共 1438字,需瀏覽 3分鐘

           ·

          2020-10-16 13:17

          作者 |?小帥b
          來(lái)源 | 學(xué)習(xí)python的正確姿勢(shì)


          你在寫程序的時(shí)候,常常需要用一些假數(shù)據(jù)來(lái)測(cè)試功能,比如用戶的注冊(cè),獲取數(shù)據(jù)列表接口等等,總不能老是 “test..test...test your daddy ” 吧?


          接下來(lái)給你介紹兩個(gè)挺不錯(cuò)的 Python 庫(kù),專門來(lái)給你生成各種假數(shù)據(jù)的,比如人名,郵箱,手機(jī)、地址等等,你再也不用苦思冥想各種張三李四和綠你的隔壁王五了。


          咱們開(kāi)始進(jìn)入:
          ?
          1、mimesis

          這個(gè)庫(kù)專門用 Python 創(chuàng)建各種假數(shù)據(jù),比如一些數(shù)據(jù)庫(kù)的測(cè)試數(shù)據(jù),假 API、Json、XML 等格式數(shù)據(jù)都可以通過(guò)它產(chǎn)生,把假數(shù)據(jù)整的像真的似得。

          而且支持 33 個(gè)不同地方的本地語(yǔ)言假數(shù)據(jù)生成:

          來(lái)帶你體驗(yàn)一波:
          首先導(dǎo)入 mimesis 的 Person 對(duì)象:


          接著定義中文,使用 pprint 將這個(gè)對(duì)象給打印出來(lái):


          運(yùn)行一下就可以看到 Person 對(duì)象定義的各種假數(shù)據(jù)了,隨便截幾張圖給你體會(huì)一下。

          學(xué)位、性別、語(yǔ)言:


          名稱:


          甚至還有性取向 ?姓氏:

          ? ? ? ? ? ? ? ??
          學(xué)士學(xué)位、就讀大學(xué):


          還有很多其它信息就不一一舉例了,除了 Person 之外,還有 food、 address、transport、Business 等對(duì)象提供的相應(yīng)假數(shù)據(jù)。



          實(shí)際上,當(dāng)你需要用到相關(guān)的假數(shù)據(jù)的時(shí)候,你只需要調(diào)用相關(guān)的對(duì)象方法即可:


          另一個(gè)比較方便的就是 API 假數(shù)據(jù)的創(chuàng)建,你可以先創(chuàng)建一個(gè) py 文件,在里面使用 mimesis.schema 定義要返回的 Json 參數(shù)數(shù)據(jù)格式:


          接著在你需要返回 API 的方法中調(diào)用它即可:


          這樣調(diào)用這個(gè)接口你就可以得到相關(guān)的假數(shù)據(jù)啦:



          文檔在這:
          https://mimesis.readthedocs.io/api.html


          2、fake2db

          另一個(gè)常需要用到假數(shù)據(jù)的就是數(shù)據(jù)庫(kù)了,fake2db 這個(gè)庫(kù)可以給數(shù)據(jù)庫(kù)填充假數(shù)據(jù),它可以支持我們常用到的數(shù)據(jù)庫(kù),比如 MySQL、Redis、Mongodb、Sqlite 等。

          安裝完 fake2db 之后,你就可以使用它的命令來(lái)生成假數(shù)據(jù)了:


          比如你要?jiǎng)?chuàng)建一個(gè) Sqlite,填充 10 條假數(shù)據(jù)就可以這樣:
          fake2db --rows 10 --db sqlite


          可以看到,這里幫我們創(chuàng)建了 sqlite_QPNVJVIX.db, 并且生成了多張數(shù)據(jù)表,我們進(jìn)去看一下:

          查詢一下 user_agent 表中的數(shù)據(jù):


          可以看到這里有 10 條假 user_agent 數(shù)據(jù)。

          注冊(cè)信息:


          你要多少數(shù)據(jù)都可以,只要把剛剛的命令中的?--rows?參數(shù)設(shè)置大一點(diǎn)就可以了。

          可能有些數(shù)據(jù)表的字段你想自己定義,那么可以在 fake2db 的 custom.py 中先定義好字段參數(shù):


          比如我想生成一張含有?user_name、passwordemail、date 的 Sqlite 數(shù)據(jù)表,然后往里填充 100 條假數(shù)據(jù),就可以這樣:


          這里使用 --custom 將你要自定義的字段參數(shù)傳進(jìn)來(lái)就可以了,這時(shí)候生成的表數(shù)據(jù)就是你定義的樣子:


          代碼在這:
          https://github.com/emirozer/fake2db

          以后需要測(cè)試數(shù)據(jù)再發(fā)不用發(fā)愁了。
          瀏覽 78
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  无码在线观看播放 | 免费黄色视频在线 | 国产日韩高清无码 | 亚洲日韩欧美综合热 | 97人人揉人人躁人人躁人人躁 |