詳解Python中第三方庫Faker
項目開發(fā)初期,為了測試方便,我們總要造不少假數(shù)據(jù)到系統(tǒng)中,盡量模擬真實環(huán)境。
比如要創(chuàng)建一批用戶名,創(chuàng)建一段文本,電話號碼,街道地址、IP地址等等。
平時我們基本是鍵盤一頓亂敲,隨便造個什么字符串出來,當(dāng)然誰也不認識誰。
現(xiàn)在你不要這樣做了,用Faker就能滿足你的一切需求。
1. 安裝
pip install Faker
2. 簡單使用
>>> from faker import Faker >>> fake = Faker(locale='zh_CN') >>> fake.name() '李潔' >>> fake.address() '上海市興安盟縣江北東莞路r座 803484'
參數(shù) locale:為生成數(shù)據(jù)的文化選項(語種),默認為 en_US,只有使用了相關(guān)文化,才能生成相對應(yīng)的隨機信息
常見的文化選項:
- zh_CN - Chinese (China Mainland)
- zh_TW - Chinese (China Taiwan)
- en_US - English (United States)
3. 其他方法
3.1 地理信息類
city_suffix():市,縣 country():國家 country_code():國家編碼 district():區(qū) geo_coordinate():地理坐標(biāo) latitude():地理坐標(biāo)(緯度) longitude():地理坐標(biāo)(經(jīng)度) postcode():郵編 province():省份 address():詳細地址 street_address():街道地址 street_name():街道名 street_suffix():街、路
3.2 基礎(chǔ)信息類
ssn():生成身份證號 bs():隨機公司服務(wù)名 company():隨機公司名(長) company_prefix():隨機公司名(短) company_suffix():公司性質(zhì),如'信息有限公司' credit_card_expire():隨機信用卡到期日,如'03/30' credit_card_full():生成完整信用卡信息 credit_card_number():信用卡號 credit_card_provider():信用卡類型 credit_card_security_code():信用卡安全碼 job():隨機職位 first_name_female():女性名 first_name_male():男性名 name():隨機生成全名 name_female():男性全名 name_male():女性全名 phone_number():隨機生成手機號 phonenumber_prefix():隨機生成手機號段,如139
3.3 郵箱信息類
ascii_company_email():隨機ASCII公司郵箱名 ascii_email():隨機ASCII郵箱: company_email():公司郵箱 email():普通郵箱 safe_email():安全郵箱
3.4 網(wǎng)絡(luò)基礎(chǔ)信息類
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地址
3.5 瀏覽器信息類
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信息
3.6 數(shù)字信息
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():隨機Float數(shù)字 pyint():隨機Int數(shù)字(參考random_int()參數(shù)) pydecimal():隨機Decimal數(shù)字(參考pyfloat參數(shù))
3.7 文本加密類
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
3.8 時間信息類
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():隨機年份
4. 實戰(zhàn)使用
import pymysql from faker import Faker conn = pymysql.connect(host="114.215.129.166", port=3306, user="nice", password="", db="flask201", charset="utf8") cursor = conn.cursor() sql1 = """drop table if exists faker_user""" sql2 = """ create table faker_user( pid int primary key auto_increment, username varchar(20), password varchar(20), address varchar(35) ) """ cursor.execute(sql1) cursor.execute(sql2) fake = Faker("zh-CN") for i in range(20): sql = """insert into faker_user(username,password,address) values('%s','%s','%s')""" % (fake.name(), fake.password(special_chars=False), fake.address()) cursor.execute(sql) conn.commit() cursor.close() conn.close()
到此這篇關(guān)于詳解Python中第三方庫Faker的文章就介紹到這了,更多相關(guān)Python第三方庫Faker內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 如何用 Hypothesis 來自動化單元測試
這篇文章主要介紹了python 如何用 Hypothesis 來自動化單元測試,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Python采集數(shù)據(jù)保存CSV文件出現(xiàn)內(nèi)容亂碼的解決方法
這篇文章主要為大家詳細介紹了如何解決Python中保存CSV文件內(nèi)容亂碼的問題,并提供詳細的示例代碼以更好地理解和解決這個問題,希望對大家有所幫助2024-03-03python append、extend與insert的區(qū)別
這篇文章主要介紹了python append、extend與insert的區(qū)別的相關(guān)資料,初學(xué)者對這幾個概念經(jīng)常搞混,這里就幫大家理清楚,需要的朋友可以參考下2016-10-10Pycharm無法打開雙擊沒反應(yīng)的問題及解決方案
這篇文章主要介紹了Pycharm無法打開,雙擊沒反應(yīng),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Django使用list對單個或者多個字段求values值實例
這篇文章主要介紹了Django使用list對單個或者多個字段求values值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03