使用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请求。如果您有任何问题或需要帮助/指导
贡献,请随时通过电子邮件与我联系
==
>使用'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"}'
data=faker.generate_fake(schema)
您可以定义自己加载模式的方式,将其转换为python
字典并将其传递给fakerschema实例。其目的是从伪数据生成中分离模式加载/生成。如果您想贡献更多的模式加载技术,请打开github发出或发送请求。
https://github.com/joke2k/faker localization>;`.
您可以从该列表中选择所需的语言环境,并将其提供给
fakerschema实例
。代码::python
from faker_schema.faker_schema import fakerschema
伪造者=伪造模式(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
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请求。如果您有任何问题或需要帮助/指导
贡献,请随时通过电子邮件与我联系