<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>

          Faker 都能造哪些數(shù)據(jù)

          共 6764字,需瀏覽 14分鐘

           ·

          2022-04-13 09:19

          你好,我是 somenzz,可以叫我征哥。

          我們在測試過程中,會使用一些測試數(shù)據(jù),測試數(shù)據(jù)有時候來自數(shù)據(jù)庫里的脫敏數(shù)據(jù),有時候需要自己造。自己造一些簡單的文本還好,一些復雜的,比如身份證號,信用卡號,街道地址可就麻煩了。

          好在 Python 有個 faker (pip install faker)庫,可以幫我們造一些測試數(shù)據(jù):

          >>>?from?faker?import?Faker
          >>>?fake?=?Faker(locale='zh_CN')
          >>>?fake.name()
          '賀平'
          >>>?fake.address()
          '青海省秀蘭縣沙灣寧德路G座?507201'
          >>>?fake.ssn()
          '371203199110016966'
          >>>?fake.company()
          '巨奧科技有限公司'
          >>>

          今天就來盤點一下,這個 faker 庫可以造哪些數(shù)據(jù):

          0、支持哪些國家的語言

          ar_EG?-?Arabic?(Egypt)????????阿拉伯語?-?埃及
          ar_PS?-?Arabic?(Palestine)????阿拉伯語?-?巴勒斯坦
          ar_SA?-?Arabic?(Saudi?Arabia)????阿拉伯語?-?沙特阿拉伯
          bg_BG?-?Bulgarian????????保加利亞語?-?保加利亞
          cs_CZ?-?Czech???????????????捷克語?-?捷克
          de_DE?-?German????????????德語?-?德國
          dk_DK?-?Danish????????????丹麥語?-?丹麥
          el_GR?-?Greek????????????希臘語?-?希臘
          en_AU?-?English?(Australia)????英語?-?澳大利亞
          en_CA?-?English?(Canada)????英語?-??加拿大
          en_GB?-?English?(Great?Britain)????英語?-?英國
          en_US?-?English?(United?States)???英語?-??美國
          es_ES?-?Spanish?(Spain)????????西班牙語?-?西班牙
          es_MX?-?Spanish?(Mexico)????????西班牙語-?墨西哥
          et_EE?-?Estonian????????????愛沙尼亞語?-?愛沙尼亞
          fa_IR?-?Persian?(Iran)????????波斯語?-?伊朗
          fi_FI?-?Finnish????????芬蘭語?-?芬蘭
          fr_FR?-?French?????????法語?-?法國
          hi_IN?-?Hindi????????????印地語?-?印度
          hr_HR?-?Croatian????克羅地亞語?-?克羅地亞
          hu_HU?-?Hungarian????匈牙利語?-?匈牙利
          hy_AM?-?Armenian?亞美尼亞語?-?亞美尼亞
          it_IT?-?Italian???????意大利語?-??意大利
          ja_JP?-?Japanese????日語?-?日本
          ko_KR?-?Korean????朝鮮語?-?韓國
          ka_GE?-?Georgian?(Georgia)??格魯吉亞語?-?格魯吉亞
          lt_LT?-?Lithuanian????立陶宛語?-?立陶宛
          lv_LV?-?Latvian????拉脫維亞語?-?拉脫維亞
          ne_NP?-?Nepali????尼泊爾語?-?尼泊爾
          nl_NL?-?Dutch?(Netherlands)????德語?-?荷蘭
          no_NO?-?Norwegian????挪威語?-?挪威
          pl_PL?-?Polish????波蘭語?-?波蘭
          pt_BR?-?Portuguese?(Brazil)????葡萄牙語??-?巴西
          pt_PT?-?Portuguese?(Portugal)????葡萄牙語?-?葡萄牙
          ru_RU?-?Russian????俄語?-?俄國
          sl_SI?-?Slovene???斯諾文尼亞語?-?斯諾文尼亞
          sv_SE?-?Swedish????瑞典語?-?瑞典?
          tr_TR?-?Turkish?????????土耳其語?-?土耳其
          uk_UA?-?Ukrainian????烏克蘭語?-?烏克蘭
          zh_CN?-?Chinese?(China)????(簡體中文)
          zh_TW?-?Chinese?(Taiwan)??(繁體中文)

          1、基礎(chǔ)信息類

          ssn():生成身份證號
          bs():隨機公司服務名
          company():隨機公司名(長)
          company_prefix():隨機公司名(短)
          company_suffix():公司性質(zhì)
          credit_card_expire():隨機信用卡到期日
          credit_card_full():生成完整信用卡信息
          credit_card_number():信用卡號
          credit_card_provider():信用卡類型
          credit_card_security_code():信用卡安全碼
          job():隨機職位
          first_name_female():女性名
          first_name_male():男性名
          last_name_female():女姓
          last_name_male():男姓
          name():隨機生成全名
          name_female():男性全名
          name_male():女性全名
          phone_number():隨機生成手機號
          phonenumber_prefix():隨機生成手機號段

          2、網(wǎng)絡(luò)、郵箱相關(guān)

          domain_name():生成域名
          domain_word():域詞(即,不包含后綴)
          ipv4():隨機IP4地址
          ipv6():隨機IP6地址
          mac_address():隨機MAC地址
          tld():網(wǎng)址域名后綴(.com,.net.cn,等等,不包括.)
          uri():隨機URI地址
          uri_extension():網(wǎng)址文件后綴
          uri_page():網(wǎng)址文件(不包含后綴)
          uri_path():網(wǎng)址文件路徑(不包含文件名)
          url():隨機URL地址
          user_name():隨機用戶名
          image_url():隨機URL地址
          ascii_company_email():隨機ASCII公司郵箱名
          ascii_email():隨機ASCII郵箱:
          company_email():
          email():
          safe_email():安全郵箱

          3、瀏覽器相關(guān)

          chrome():隨機生成Chrome的瀏覽器user_agent信息
          firefox():隨機生成FireFox的瀏覽器user_agent信息
          internet_explorer():隨機生成IE的瀏覽器user_agent信息
          opera():隨機生成Opera的瀏覽器user_agent信息
          safari():隨機生成Safari的瀏覽器user_agent信息
          linux_platform_token():隨機Linux信息
          user_agent():隨機user_agent信息

          4、數(shù)字、文本、加密相關(guān)

          numerify():三位隨機數(shù)字
          random_digit():0~9隨機數(shù)
          random_digit_not_null():1~9的隨機數(shù)
          random_int():隨機數(shù)字,默認0~9999,可以通過設(shè)置min,max來設(shè)置
          random_number():隨機數(shù)字,參數(shù)digits設(shè)置生成的數(shù)字位數(shù)
          pyfloat():
          left_digits=5?#生成的整數(shù)位數(shù),?right_digits=2?#生成的小數(shù)位數(shù),?positive=True?#是否只有正數(shù)
          pyint():隨機Int數(shù)字(參考random_int()參數(shù))
          pydecimal():隨機Decimal數(shù)字(參考pyfloat參數(shù))

          pystr():隨機字符串
          random_element():隨機字母
          random_letter():隨機字母
          paragraph():隨機生成一個段落
          paragraphs():隨機生成多個段落
          sentence():隨機生成一句話
          sentences():隨機生成多句話,與段落類似
          text():隨機生成一篇文章
          word():隨機生成詞語
          words():隨機生成多個詞語,用法與段落,句子,類似
          binary():隨機生成二進制編碼
          boolean():True/False
          language_code():隨機生成兩位語言編碼
          locale():隨機生成語言/國際?信息
          md5():隨機生成MD5
          null_boolean():NULL/True/False
          password():隨機生成密碼,可選參數(shù):length:密碼長度;special_chars:是否能使用特殊字符;digits:是否包含數(shù)字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母
          sha1():隨機SHA1
          sha256():隨機SHA256
          uuid4():隨機UUID

          5、時間、日期類

          date():隨機日期
          date_between():隨機生成指定范圍內(nèi)日期,參數(shù):start_date,end_date
          date_between_dates():隨機生成指定范圍內(nèi)日期,用法同上
          date_object():隨機生產(chǎn)從1970-1-1到指定日期的隨機日期。
          date_time():隨機生成指定時間(1970年1月1日至今)
          date_time_ad():生成公元1年到現(xiàn)在的隨機時間
          date_time_between():用法同dates
          future_date():未來日期
          future_datetime():未來時間
          month():隨機月份
          month_name():隨機月份(英文)
          past_date():隨機生成已經(jīng)過去的日期
          past_datetime():隨機生成已經(jīng)過去的時間
          time():隨機24小時時間
          timedelta():隨機獲取時間差
          time_object():隨機24小時時間,time對象
          time_series():隨機TimeSeries對象
          timezone():隨機時區(qū)
          unix_time():隨機Unix時間
          year():隨機年份

          6、地理信息

          fake.city_suffix():市,縣
          fake.country():國家
          fake.country_code():國家編碼
          fake.district():區(qū)
          fake.geo_coordinate():地理坐標
          fake.latitude():地理坐標(緯度)
          fake.longitude():地理坐標(經(jīng)度)
          fake.postcode():郵編
          fake.province():省份
          fake.address():詳細地址
          fake.street_address():街道地址
          fake.street_name():街道名
          fake.street_suffix():街、路

          7、其他一些組合數(shù)據(jù)

          profile():隨機生成檔案信息
          simple_profile():隨機生成簡單檔案信息
          pyiterable()
          pylist()
          pyset()
          pystruct()
          pytuple()
          pydict()

          比如說 profile() 生成的檔案信息,可以用于用戶信息接口的調(diào)試。

          >>>?from?faker?import?Faker
          >>>?fake?=?Faker(locale='zh_CN')
          >>>?fake.profile()
          {'job':?'軟件工程師',?'company':?'四通網(wǎng)絡(luò)有限公司',?'ssn':?'530923198408240969',?'residence':?'四川省淑華市薊州通遼路e座 413191',?'current_location':?(Decimal('-13.0327845'),?Decimal('57.720440')),?'blood_group':?'AB+',?'website':?['http://jing.com/',?'https://xiuyingtang.net/',?'http://www.fangchao.cn/',?'https://xiuyingyang.cn/'],?'username':?'csun',?'name':?'袁琴',?'sex':?'F',?'address':?'河北省武漢縣璧山西安街t座?698036',?'mail':?'[email protected]',?'birthdate':?date(1980,?10,?18)}
          >>>

          還可以生成 Python 相關(guān)的對象:

          from?faker?import?Faker
          fake?=?Faker(locale='zh_CN')
          print('生成Python字典:?{}'.format(fake.pydict(
          ????nb_elements=10,?variable_nb_elements=True)))??#?Python字典
          print('生成Python可迭代對象:{}.'.format(fake.pyiterable(
          ????nb_elements=10,?variable_nb_elements=True)))???#?Python可迭代對象
          print('生成Python結(jié)構(gòu):{}'.format(fake.pystruct(count=1)))??#?Python結(jié)構(gòu)

          輸出信息

          生成Python字典:?{'作者':?8955,?'之后':?'pDuOmPTKZxtqyLxACLtp',?'是一':?'jmMdjwfWPERLIKuPlDyU',?'以后':?Decimal('8836111404629.58'),?'大小':?'[email protected]',?'目前':?'https://qiang.cn/privacy/',?'雖然':?18168987.5715}
          生成Python可迭代對象:[9754,?'IaULZqbQggrGMstzOnlP',?'pJTARLmleQIeuOBTFUaL',?9159,?'kZqbMcPEpzRJMluKxJqT',?'MQIJDTOVvdzntgqswzhs',?-6756.3,?Decimal('137479403784.9'),?'https://06.cn/faq.htm',?Decimal('-250.54314'),?Decimal('-58189569317050.8'),?datetime(1974,?10,?13,?15,?57,?52),?datetime(2003,?4,?11,?6,?3,?6)].
          生成Python結(jié)構(gòu):(['xRUPMkjaKCdOudIAagOi'],?{'聯(lián)系':?'GgqCNRIqnftahozxLoLn'},?{'今天':?{0:?Decimal('1062112341879.0'),?1:?['VujNTFJgcszUwNhMDOBt',?Decimal('-25806285371463.0'),?9444727347789.0],?2:?{0:?56297119409.0,?1:?267856.25,?2:?['RouhuObYaDdHIXkWQjqI',?45685678.720959]}}})

          當然了,還有不少沒有列舉完,可以在 Python 解釋器中輸入 dir(fake),看 Faker 庫都可以 fake 哪些數(shù)據(jù),目前 Faker 支持近 300 種數(shù)據(jù),此外還支持自己進行擴展。

          8、自定義 Faker 數(shù)據(jù)類型

          如果以上數(shù)據(jù)不方便測試,我們還可以自定義:

          >>>?from?faker?import?Faker
          >>>?from?faker.providers?import?BaseProvider
          >>>
          >>>?#?創(chuàng)建自定義?Provider
          >>>?class?CustomProvider(BaseProvider):
          ...?????def?customize_type(self):
          ...?????????return?'這是我自定義的數(shù)據(jù)'
          ...
          >>>?fake?=?Faker()
          >>>?fake.add_provider(CustomProvider)
          >>>
          >>>?fake.customize_type
          0x7fe1935fb5e0>>
          >>>?fake.customize_type()
          '這是我自定義的數(shù)據(jù)'

          最后的話

          本文梳理了 Faker 庫可以造的常見數(shù)據(jù),建議收藏,以后用的時候方便查找。好了,今天的分享就到這里,覺得有幫助,還請點贊、轉(zhuǎn)發(fā)、關(guān)注。

          瀏覽 52
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <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>
                  人人尻人人摸 | 日本黄色操逼网站视频 | 无码一区二区三区四区五 | 北条麻妃网址 | 天天夜夜肏 |