使用joke2k的faker和您自己的模式生成假数据

faker-schema的Python项目详细描述


faker schema
==


>使用'joke2k's
faker<;https://github.com/joke2k/faker>;``和您自己的schema生成假数据。


代码::bash

pip install faker schema

usage
----


getting started
^^^^^^^^^^^^^^^^^^^^^

代码::python


from faker_schema.faker_schema import fakerschema


schema={employee_id':'uuid4','employee_name':'name','employee address':'address',
'电子邮件地址':'电子邮件'}
伪造者=伪造模式()
数据=伪造者。生成伪造(模式)
打印(数据)
{员工ID':'956f0cf3-a954-5bff-0aaf-ee0e1b7e1e1b','员工姓名':'adam wells',
"员工地址":"189 Kyle Springs Suite 110\nNorth Robin,or 73512",
"电子邮件地址":"jmcgee@gmail.com"}

架构类型。Faker通过提供程序提供多种数据类型。有关可用提供程序的列表,请在知道要生成假数据的类型后,签出
`providers<;http://faker.readthedocs.io/en/master/providers.html>;``和
`community
`providers<;http://faker.readthedocs.io/en/master/communityproviders.html>;`\br/>
,您可以开始定义自己的模式


定义自己的模式
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

预期的模式是一个字典,其中键是字段名,值是字段的类型。模式措辞也可以有嵌套的字典和列表。


loading schemas
^^^^^^^^^^^^^^^


>Faker schema目前提供了两种加载模式的方式:

-json file
-json string

。代码::python



=faker.generate_fake(schema)

\or


json_string='{"employee_id"":"uuid4","employee_name":"name","employee address":
"address","email_address":"email"}'

faker=fakerschema()
data=faker.generate_fake(schema)

您可以定义自己加载模式的方式,将其转换为python
字典并将其传递给fakerschema实例。其目的是从伪数据生成中分离模式加载/生成。如果您想贡献更多的模式加载技术,请打开github发出或发送请求。

https://github.com/joke2k/faker localization>;`.
您可以从该列表中选择所需的语言环境,并将其提供给
fakerschema实例

。代码::python

from faker_schema.faker_schema import fakerschema

电子邮件地址:'email'}
伪造者=伪造模式(locale='it''it')
数据=伪造者。生成伪造(模式)
打印(数据)
{员工ID':'47f8bb04-fc05-25c9-73cc-e8a22f29ee4e','员工姓名':'caio negri',,
"员工地址":"Stretto Davis 34\ndamico Lido,54802 Vibo Valentia(TR)",
"电子邮件地址":"nunzia19@libero.it"}

代码::python

from faker_schema.faker_schema import fakerschema

schema={'employeeinfo':{'id':'uuid4','name':'name','contact':{'email':'email',
'phone number':'phone-number'},'location':{'country code':'country-code',
'city':'city','country':'country','postalcode':'postalcode',,
'地址':'街道地址'}}
冒牌货=冒牌货schema()
数据=冒牌货.生成冒牌货(schema)
{'employeeinfo':{'id':'0751f889-0d83-d05f-4eeb-16f575c6b4a3','名称':'stacey williams',
'contact':{'email':'jpatterson@yahoo.com',"电话号码":"1-077-859-6393"},
"位置":{"国家代码":"IE","城市":"代尔茅斯","国家":
"美国小型离岛","邮政编码":"84239","地址":"94806 Joseph Plaza Apt.783"}

嵌套列表
^^^^^^^^^^^^^^^^

代码::python

from faker_schema.faker_schema import fakerschema

{name':'name'}}
faker=faker schema()
data=faker.generate懔fake(schema)
{employer':'faith knapp','employelist':[{name':'douglas bailey'},
{name':'karen rivera'},{'name':'linda vance md'}


代码::python


from faker_schema.faker_schema import fakerschema


schema={employee_id':'uuid4','employee_name':'name','employee address':'address',
'电子邮件地址':'电子邮件'}
伪造者=伪造方案()
数据=伪造者。生成伪造方案(方案,迭代次数=4)
打印(数据)
[{员工ID':'e07a7964-9636-bca6-2a58-4a69ac126dc5','员工姓名':
'charlene blankenship','员工地址':'0431 Edward Mountains Suite 697\nPort Douglas,
TX 96239-7277,'电子邮件地址':'ashley86@yahoo.com',{员工ID':
42b022262-3e0c-cf40-8257-4a0af122dddb,'员工姓名':'Cheryl Stevens',
员工地址':'48066 Eric Lake\nphillipshire,Mo57224,'电子邮件地址':
'lisa05@nash.info'},{'employee'id':'41efbcc4-bb32-9260-b2b3-8fac29782e01',
'employee'name':'dennis campbell','employee address':
'52418 diana mills suite 590\neast mackenzie,hi 16222','电子邮件地址':
'jennifer39@gmail.com',{员工ID':'80bf12ff-2f3A-6db6-f3a6-14cb50076a46',
员工姓名':'jimmy avery','员工地址':
艾迪森林公寓6867号,邮编:735\nbranditon,IL 32717','电子邮件地址':'ashley64@griffin.com'}]


byop(带上自己的提供商)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

我将使用提供者,
"faker"web<;https://github.com/thiagofigueiro/faker_web>;``作为一个
示例。

在"安装"lt;https://github.com/thiagofigueiro/faker_web之后,
用法>;` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `代码::python

from faker import faker
from faker_schema import fakerschema
from faker_web import web provider


fake=faker()
fake.add_provider(webprovider)

faker=fakerschema(faker=fake)
headers_schema={'content-type':'content_type','server':'server_token'}
fake_headers=faker.generate_fake(headers_schema)
print(fake_headers)
{content-type':'application/json',"服务器":"apache/2.0.51(ubuntu)}


代码::bash

make test

-使用nose

…代码::bash

noests

-使用覆盖率

代码::bash

notests——带coverage——cover package=faker-schema——cover erase-v——cover html

运行flake8
~~~~~~~~~~~~~~~~

-使用make

…代码::bash

make flake8

-使用flake8

…代码::bash

flake8——最大行长99 faker嫒schema/tests/


author
----

usman ehtesham gul(`ueg1990<;https://github.com/ueg1990>;`\uuuu)-
uehtesham90@gmail.com


contribution


或者改进现有的版本,或者如果发现bug,请打开github问题,或者随时发送pull请求。如果您有任何问题或需要帮助/指导
贡献,请随时通过电子邮件与我联系

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从servlet向所有登录用户发送数据   java为什么需要ScheduledExecutorService。shutdown()使用我100%的CPU吗?   用于计算ArrayList中重复项的java嵌套循环无法正常工作   如何获取使用audioinputstream java下载文件的进度   java Kurento复合网格记录   识别方法的java问题   java on Markerclick listener绘制路线并计算距离   java在API级别16上创建/生成R.id   java如何修复HQL查询中的“意外令牌”错误   Java创建损坏的ZIP文件   JavaGSON。如何将json对象转换为json数组?   java需要配置Spring安全性和Hibernate   Vowpal Wabbit的Java API?