时间:2021-05-22
简介
使用faker可以获取很多模拟数据,如:姓名、电话、地址、银行、汽车、条形码、公司、信用卡、email、user_agen等等
学会使用这个库,再也不用为制造假数据发愁了。。。。。。
同时,使用起来非常简单,只需要安装,导入库,并创建实例,即可使用,如下:
主要的方法分类
如上面例子,每次调用 fake 实例的 name()方法时,都会产生不同随机姓名。fake 实例还有很多方法可用,这些方法分为以下几类:
address 地址
>>> fake.country() # 国家'奥地利' >>> fake.city() # 城市'郑州市'>>> fake.city_suffix() # 城市的后缀,中文是:市或县'市'>>> fake.address() # 地址'河北省巢湖县怀柔南宁路f座 169812'>>> fake.street_address() # 街道'邯郸路W座'>>> fake.street_name() # 街道名'合肥路'>>> fake.postcode() # 邮编'314548'>>> fake.latitude() # 维度Decimal('68.0228435')>>> fake.longitude() # 经度Decimal('155.964341')person 人物
>>> fake.name() # 姓名'单玉珍'>>> fake.last_name() # 姓'潘'>>> fake.first_name() # 名'琴'>>> fake.name_male() # 男性姓名'官平'>>> fake.last_name_male() # 男性姓'安'>>> fake.first_name_male() # 男性名'文'>>> fake.name_female() # 女性姓名'许颖'barcode 条码
>>> fake.ean8() # 8位条码'12771363'>>> fake.ean13() # 13位条码'9133134950963'>>> fake.ean(length=8) # 自定义位数条码,只能选8或者13'20417161'color 颜色
>>> fake.hex_color() # 16进制表示的颜色'#671f6d'>>> fake.rgb_css_color() # css用的rgb色'rgb(237,74,237)'>>> fake.rgb_color() # 表示rgb色的字符串'208,102,218'>>> fake.color_name() # 颜色名字'Brown'>>> fake.safe_hex_color() #安全16进制色'#ee4400'>>> fake.safe_color_name() # 安全颜色名字'maroon'company 公司
>>> fake.company() # 公司名'时空盒数字科技有限公司'>>> fake.company_suffix() # 公司名后缀'科技有限公司'credit_card 银行信用卡
>>> fake.credit_card_number(card_type=None) # 卡号'375325478746231'>>> fake.credit_card_provider(card_type=None) # 卡的提供者'VISA 13 digit'>>> fake.credit_card_security_code(card_type=None)# 卡的安全密码'450'>>> fake.credit_card_expire() # 卡的有效期'04/22'>>> fake.credit_card_full(card_type=None) # 完整卡信息'Maestro\n秀芳 商\n502001016117 04/27\nCVV: 144\n'currency 货币
>>> fake.currency_code() # 货币代码'HNL'date_time 时间日期
>>> fake.date_time(tzinfo=None) # 随机日期时间datetime.datetime(2001, 3, 18, 17, 57, 44)>>> fake.iso8601(tzinfo=None) # 以iso8601标准输出的日期'1973-11-16T22:58:37'>>> fake.date_time_this_month(before_now=True, after_now=False, tzinfo=None) # 本月的某个日期datetime.datetime(2017, 11, 1, 14, 33, 48)>>> fake.date_time_this_year(before_now=True, after_now=False, tzinfo=None) # 本年的某个日期datetime.datetime(2017, 3, 2, 13, 55, 31)>>> fake.date_time_this_decade(before_now=True, after_now=False, tzinfo=None) # 本年代内的一个日期datetime.datetime(2010, 3, 26, 6, 33, 23)>>> fake.date_time_this_century(before_now=True, after_now=False, tzinfo=None) # 本世纪一个日期datetime.datetime(2015, 7, 21, 19, 27, 53)>>> fake.date_time_between(start_date="-30y", end_date="now", tzinfo=None) # 两个时间间的一个随机时间datetime.datetime(2005, 12, 3, 17, 17, 15)>>> fake.timezone() # 时区'America/Guatemala'>>> fake.time(pattern="%H:%M:%S") # 时间(可自定义格式)'11:21:52'>>> fake.am_pm() # 随机上午下午'PM'>>> fake.month() # 随机月份'02'>>> fake.month_name() # 随机月份名字'August'>>> fake.year() # 随机年'1974'>>> fake.day_of_week() # 随机星期几'Sunday'>>> fake.day_of_month() # 随机月中某一天'02'>>> fake.time_delta() # 随机时间延迟datetime.timedelta(13371, 27637)>>> fake.date_object() # 随机日期对象datetime.date(1983, 1, 26)>>> fake.time_object() # 随机时间对象datetime.time(17, 8, 56)>>> fake.unix_time() # 随机unix时间(时间戳)1223246848>>> fake.date(pattern="%Y-%m-%d") # 随机日期(可自定义格式)'1984-04-20'>>> fake.date_time_ad(tzinfo=None) # 公元后随机日期datetime.datetime(341, 9, 11, 8, 6, 9)file 文件
>>> fake.file_name(category="image", extension="png") # 文件名(指定文件类型和后缀名)'增加.png'>>> fake.file_name() # 随机生成各类型文件'提供.pdf'>>> fake.file_extension(category=None) # 文件后缀'txt'>>> fake.mime_type(category=None) # mime-type'image/png'internet 互联网
>>> fake.ipv4(network=False) # ipv4地址'104.225.105.10'>>> fake.ipv6(network=False) # ipv6地址'dea6:ca11:39d0:b49f:fff1:82f1:bf88:698b'>>> fake.uri_path(deep=None) # uri路径'search/categories'>>> fake.uri_extension() # uri扩展名'.htm'>>> fake.uri() # uri'https://patible; MSIE 5.0; Windows NT 6.1; Trident/4.0)'>>> fake.opera() # opera浏览器'Opera/9.37.(Windows 95; doi-IN) Presto/2.9.178 Version/10.00'>>> fake.firefox() # firefox浏览器'Mozilla/5.0 (Windows NT 5.0; te-IN; rv:1.9.2.20) Gecko/2015-09-28 13:29:05 Firefox/12.0'>>> fake.safari() # safari浏览器'Mozilla/5.0 (Windows; U; Windows NT 4.0) AppleWebKit/533.37.4 (KHTML, like Gecko) Version/5.0 Safari/533.37.4'>>> fake.chrome() # chrome浏览器'Mozilla/5.0 (Windows 98; Win 9x 4.90) AppleWebKit/5361 (KHTML, like Gecko) Chrome/14.0.866.0 Safari/5361'自定义扩展
Faker 已经提供了足够丰富的信息生成,包括名字、手机号、邮箱地址、邮编等等。尽管如此,可能还是没有办法满足你的需求。这时,可以利用自定义扩展,引用外部的 provider,自定义你要的功能。
Faker 对象可以通过 add_provider 方法将自定义的 Provider 添加到对象中,自定义的 Provider 需要继承自 BaseProvider。
from faker import Fakerfake = Faker()# first, import a similar Provider or use the default onefrom faker.providers import BaseProvider# create new provider classclass MyProvider(BaseProvider): def foo(self): return 'bar'# then add new provider to faker instancefake.add_provider(MyProvider)# now you can use:print(fake.foo())结果显示:
bar
随机控制
Faker 随机生成由 random.Random 驱动。其中,.random 属性返回 random.Random 对象。通过对该对象的操作,可以实现自定义的行为。
from faker import Fakerfake = Faker()fake.randomfake.random.getstate()安装:
pip install faker使用:
不做进一步的解释了哈,
更详细的请参见faker的文档地址:https://faker.readthedocs.io/en/master/#
到此这篇关于python产生模拟数据faker库的使用详解的文章就介绍到这了,更多相关python faker库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
今天给大家介绍一个Faker模块,一款基于Python的测试数据生成工具,无论是用于初始化数据库,创建XML文件,或是生成压测数据,Faker都是不错的选择。1
faker是一个生成伪造数据的Python第三方库,可以伪造城市,姓名,等等,而且支持中文,需要的时候可以一用。首先需要:pipinstallfakerIn[5
MyBatis获取数据库自生成的主键Id详解及实例代码在使用MySQL数据库时我们一般使用数据库的自增主键自动产生主键。如果在插入主表时,我们需要同时插入从表的
详解Python模拟实现生产者消费者模式的实例散仙使用python3.4模拟实现的一个生产者与消费者的例子,用到的知识有线程,队列,循环等,源码如下:Pytho
1.random库的使用:random库是使用随机数的Python标准库从概率论角度来说,随机数是随机产生的数据(比如抛硬币),但时计算机是不可能产生随机值,真