詳解Python中第三方庫Faker
項目開發(fā)初期,為了測試方便,我們總要造不少假數(shù)據(jù)到系統(tǒng)中,盡量模擬真實(shí)環(huán)境。
比如要創(chuàng)建一批用戶名,創(chuàng)建一段文本,電話號碼,街道地址、IP地址等等。
平時我們基本是鍵盤一頓亂敲,隨便造個什么字符串出來,當(dāng)然誰也不認(rèn)識誰。
現(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ù)的文化選項(語種),默認(rèn)為 en_US,只有使用了相關(guān)文化,才能生成相對應(yīng)的隨機(jī)信息
常見的文化選項:
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():詳細(xì)地址street_address():街道地址street_name():街道名street_suffix():街、路
3.2 基礎(chǔ)信息類
ssn():生成身份證號bs():隨機(jī)公司服務(wù)名company():隨機(jī)公司名(長)company_prefix():隨機(jī)公司名(短)company_suffix():公司性質(zhì),如’信息有限公司’credit_card_expire():隨機(jī)信用卡到期日,如’03/30’credit_card_full():生成完整信用卡信息credit_card_number():信用卡號credit_card_provider():信用卡類型credit_card_security_code():信用卡安全碼job():隨機(jī)職位first_name_female():女性名first_name_male():男性名name():隨機(jī)生成全名name_female():男性全名name_male():女性全名phone_number():隨機(jī)生成手機(jī)號phonenumber_prefix():隨機(jī)生成手機(jī)號段,如139
3.3 郵箱信息類
ascii_company_email():隨機(jī)ASCII公司郵箱名ascii_email():隨機(jī)ASCII郵箱:company_email():公司郵箱email():普通郵箱safe_email():安全郵箱
3.4 網(wǎng)絡(luò)基礎(chǔ)信息類
domain_name():生成域名domain_word():域詞(即,不包含后綴)ipv4():隨機(jī)IP4地址ipv6():隨機(jī)IP6地址mac_address():隨機(jī)MAC地址tld():網(wǎng)址域名后綴(.com,.net.cn,等等,不包括.)uri():隨機(jī)URI地址uri_extension():網(wǎng)址文件后綴uri_page():網(wǎng)址文件(不包含后綴)uri_path():網(wǎng)址文件路徑(不包含文件名)url():隨機(jī)URL地址user_name():隨機(jī)用戶名image_url():隨機(jī)URL地址
3.5 瀏覽器信息類
chrome():隨機(jī)生成Chrome的瀏覽器user_agent信息firefox():隨機(jī)生成FireFox的瀏覽器user_agent信息internet_explorer():隨機(jī)生成IE的瀏覽器user_agent信息opera():隨機(jī)生成Opera的瀏覽器user_agent信息safari():隨機(jī)生成Safari的瀏覽器user_agent信息linux_platform_token():隨機(jī)Linux信息user_agent():隨機(jī)user_agent信息
3.6 數(shù)字信息
numerify():三位隨機(jī)數(shù)字random_digit():0~9隨機(jī)數(shù)random_digit_not_null():1~9的隨機(jī)數(shù)random_int():隨機(jī)數(shù)字,默認(rèn)0~9999,可以通過設(shè)置min,max來設(shè)置random_number():隨機(jī)數(shù)字,參數(shù)digits設(shè)置生成的數(shù)字位數(shù)pyfloat():隨機(jī)Float數(shù)字pyint():隨機(jī)Int數(shù)字(參考random_int()參數(shù))pydecimal():隨機(jī)Decimal數(shù)字(參考pyfloat參數(shù))
3.7 文本加密類
pystr():隨機(jī)字符串random_element():隨機(jī)字母random_letter():隨機(jī)字母paragraph():隨機(jī)生成一個段落paragraphs():隨機(jī)生成多個段落sentence():隨機(jī)生成一句話sentences():隨機(jī)生成多句話,與段落類似text():隨機(jī)生成一篇文章word():隨機(jī)生成詞語words():隨機(jī)生成多個詞語,用法與段落,句子,類似binary():隨機(jī)生成二進(jìn)制編碼boolean():True/Falselanguage_code():隨機(jī)生成兩位語言編碼locale():隨機(jī)生成語言/國際 信息md5():隨機(jī)生成MD5null_boolean():NULL/True/Falsepassword():隨機(jī)生成密碼,可選參數(shù):length:密碼長度;special_chars:是否能使用特殊字符;digits:是否包含數(shù)字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母sha1():隨機(jī)SHA1sha256():隨機(jī)SHA256uuid4():隨機(jī)UUID
3.8 時間信息類
date():隨機(jī)日期date_between():隨機(jī)生成指定范圍內(nèi)日期,參數(shù):start_date,end_datedate_between_dates():隨機(jī)生成指定范圍內(nèi)日期,用法同上date_object():隨機(jī)生產(chǎn)從1970-1-1到指定日期的隨機(jī)日期。date_time():隨機(jī)生成指定時間(1970年1月1日至今)date_time_ad():生成公元1年到現(xiàn)在的隨機(jī)時間date_time_between():用法同datesfuture_date():未來日期future_datetime():未來時間month():隨機(jī)月份month_name():隨機(jī)月份(英文)past_date():隨機(jī)生成已經(jīng)過去的日期past_datetime():隨機(jī)生成已經(jīng)過去的時間time():隨機(jī)24小時時間timedelta():隨機(jī)獲取時間差time_object():隨機(jī)24小時時間,time對象time_series():隨機(jī)TimeSeries對象timezone():隨機(jī)時區(qū)unix_time():隨機(jī)Unix時間year():隨機(jī)年份
4. 實(shí)戰(zhàn)使用
import pymysqlfrom faker import Fakerconn = 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)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
