詳解Python中第三方庫Faker
項目開發初期,為了測試方便,我們總要造不少假數據到系統中,盡量模擬真實環境。
比如要創建一批用戶名,創建一段文本,電話號碼,街道地址、IP地址等等。
平時我們基本是鍵盤一頓亂敲,隨便造個什么字符串出來,當然誰也不認識誰。
現在你不要這樣做了,用Faker就能滿足你的一切需求。
1. 安裝
pip install Faker
2. 簡單使用
>>> from faker import Faker>>> fake = Faker(locale=’zh_CN’)>>> fake.name()’李潔’>>> fake.address()’上海市興安盟縣江北東莞路r座 803484’
參數 locale:為生成數據的文化選項(語種),默認為 en_US,只有使用了相關文化,才能生成相對應的隨機信息
常見的文化選項:
zh_CN - Chinese (China Mainland) zh_TW - Chinese (China Taiwan) en_US - English (United States)3. 其他方法
3.1 地理信息類
city_suffix():市,縣country():國家country_code():國家編碼district():區geo_coordinate():地理坐標latitude():地理坐標(緯度)longitude():地理坐標(經度)postcode():郵編province():省份address():詳細地址street_address():街道地址street_name():街道名street_suffix():街、路
3.2 基礎信息類
ssn():生成身份證號bs():隨機公司服務名company():隨機公司名(長)company_prefix():隨機公司名(短)company_suffix():公司性質,如’信息有限公司’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 網絡基礎信息類
domain_name():生成域名domain_word():域詞(即,不包含后綴)ipv4():隨機IP4地址ipv6():隨機IP6地址mac_address():隨機MAC地址tld():網址域名后綴(.com,.net.cn,等等,不包括.)uri():隨機URI地址uri_extension():網址文件后綴uri_page():網址文件(不包含后綴)uri_path():網址文件路徑(不包含文件名)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 數字信息
numerify():三位隨機數字random_digit():0~9隨機數random_digit_not_null():1~9的隨機數random_int():隨機數字,默認0~9999,可以通過設置min,max來設置random_number():隨機數字,參數digits設置生成的數字位數pyfloat():隨機Float數字pyint():隨機Int數字(參考random_int()參數)pydecimal():隨機Decimal數字(參考pyfloat參數)
3.7 文本加密類
pystr():隨機字符串random_element():隨機字母random_letter():隨機字母paragraph():隨機生成一個段落paragraphs():隨機生成多個段落sentence():隨機生成一句話sentences():隨機生成多句話,與段落類似text():隨機生成一篇文章word():隨機生成詞語words():隨機生成多個詞語,用法與段落,句子,類似binary():隨機生成二進制編碼boolean():True/Falselanguage_code():隨機生成兩位語言編碼locale():隨機生成語言/國際 信息md5():隨機生成MD5null_boolean():NULL/True/Falsepassword():隨機生成密碼,可選參數:length:密碼長度;special_chars:是否能使用特殊字符;digits:是否包含數字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母sha1():隨機SHA1sha256():隨機SHA256uuid4():隨機UUID
3.8 時間信息類
date():隨機日期date_between():隨機生成指定范圍內日期,參數:start_date,end_datedate_between_dates():隨機生成指定范圍內日期,用法同上date_object():隨機生產從1970-1-1到指定日期的隨機日期。date_time():隨機生成指定時間(1970年1月1日至今)date_time_ad():生成公元1年到現在的隨機時間date_time_between():用法同datesfuture_date():未來日期future_datetime():未來時間month():隨機月份month_name():隨機月份(英文)past_date():隨機生成已經過去的日期past_datetime():隨機生成已經過去的時間time():隨機24小時時間timedelta():隨機獲取時間差time_object():隨機24小時時間,time對象time_series():隨機TimeSeries對象timezone():隨機時區unix_time():隨機Unix時間year():隨機年份
4. 實戰使用
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()
到此這篇關于詳解Python中第三方庫Faker的文章就介紹到這了,更多相關Python第三方庫Faker內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: