Maison >développement back-end >Tutoriel Python >Astuces | Une bibliothèque Python qui a l'air tellement fausse qu'elle m'a fait craquer. .

Astuces | Une bibliothèque Python qui a l'air tellement fausse qu'elle m'a fait craquer. .

Python当打之年
Python当打之年avant
2023-08-10 14:51:301096parcourir


Lorsque je parcourais GitHub aujourd'hui, j'ai trouvé une bibliothèque très géniale - Faker. Cette bibliothèque peut générer de fausses informations, notamment des informations personnelles ou des données de test. si nous devons utiliser de fausses données pour tester pendant le développement, alors cette bibliothèque sera utile ~

1. Installer

Il suffit de pip pour installer directement :
pip install Faker

2. 使用

2.1 简单使用 

创建虚拟姓名、电话号码、地址等信息:

from faker import Faker

fake = Faker()

fake.name()
# 'Jonathon Dixon'

fake.phone_number()
# '262-035-1927'

fake.address()
# '590 Hart Motorway\nSergioshire, NM 76453'

2.2 国内信息 

这个库默认显示是国外的信息,接下来我们设置一下国内信息
from faker import Faker

fake = Faker('zh_CN')

fake.name()
# '汪雪梅'

fake.phone_number()
# '18535612607'

fake.address()
# '重庆市秀云县静安潜江街X座 690499'

是不是可以假乱真~

当然,如果要生成其他语种或地区的数据,也是可以的,直接替换Faker参数即可,以下是这个库所支持的语种:
ar_EG - Arabic (Egypt)
ar_PS - Arabic (Palestine)
ar_SA - Arabic (Saudi Arabia)
bg_BG - Bulgarian
bs_BA - Bosnian
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_NZ - English (New Zealand)
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
ka_GE - Georgian (Georgia)
ko_KR - Korean
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)
ro_RO - Romanian
ru_RU - Russian
sl_SI - Slovene
sv_SE - Swedish
tr_TR - Turkish
uk_UA - Ukrainian
zh_CN - Chinese (China Mainland)
zh_TW - Chinese (China Taiwan)

2.3 生成个人档案信息 

fake.profile(fields=None, sex=None)
结果:
Astuces | Une bibliothèque Python qui a l'air tellement fausse qu'elle m'a fait craquer. .


2.4 批量生成人员信息 

import collections
import ngender
import datetime
import pandas as pd

all_info = []
pa_list = ['name','gender', 'age', 'job', 'company', 'address', 'phone_number', 'company_email']
for i in range(15):
    people = collections.namedtuple('User', pa_list) 
    people.name = fake.name()
    people.gender = '男' if ngender.guess(people.name)[0] == 'male' else '女'
    people.age = datetime.datetime.now().year - fake.date_of_birth(tzinfo=None, minimum_age=25, maximum_age=40).year # 出生日期
    people.job = fake.job()
    people.company = fake.company()
    people.address = fake.address().split(' ')[0]
    people.phone_number = fake.phone_number()
    people.company_email = fake.company_email()
    lsts = [people.name, people.gender, people.age, people.job, people.company, people.address, people.phone_number, people.company_email]
    all_info.append(lsts)

pd.DataFrame(all_info,columns=pa_list)
效果:

Astuces | Une bibliothèque Python qui a l'air tellement fausse qu'elle m'a fait craquer. .

fake 实例还有很多方法可用:
  • address 地址

  • person 人物类

  • barcode 条码类

  • color 颜色类

  • company 公司类

  • credit_card 银行卡类

  • currency 货币

  • date_time 时间日期类

  • file 文件类

  • internet 互联网类

  • job 工作

  • lorem 乱数假文

  • misc 杂项类

  • phone_number 手机号

  • python python数据

  • profile 档案信息

  • ssn 身份证号码

  • user_agent 用户代理

官方文档:

https://faker.readthedocs.io/en/master/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer