社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

这个 Python 库有点黑科技

Python编程时光 • 5 年前 • 1457 次点击  

推荐三个网站

1.Python进阶知识: http://python.iswbm.com 

2.Python魔法技巧: http://magic.iswbm.com 

3.PyCharm 手册: http://pycharm.iswbm.com


Python里面的库真的太多太多了,各种千奇百怪的都有。今天小编逛GitHub的时候发现一个好玩的库,这个库可厉害啦,竟然能够模拟出很多以假乱真的数据

在生产环境中,有点时候产品要上线,后端必要要做用户的压力测试,就需要大量的人员信息数据去测试我们的产品,嘿嘿这个库就可以派上用场啦,我们一起来看一下。

这个神器竟然收获了10000多颗星,1200多个fork,还是很厉害的,它支持Python2和Python3,可以模拟制造很多人员的信息,而且使用起来非常方便,我们来看一下这个库啥妙用。


01.如何安装

直接pip3 install faker 非常方便


02.如何使用

1).轻松的创建一排人的名字,地址和信息

name:Peter Thompsonaddr:7025 Alice Lodge Suite 136Port Juanshire, WV 92045text:Season spring smile marriage fire answer run.Population read inside several seat travel. Player parent two pressure easy. Television customer century school.

name:Christopher Carpenteraddr:982 Harper VillageWest Marcusland, GA 93351text:Condition meeting hour arrive note newspaper condition. Response game police plan staff say plan.Reach ahead certain there health my store. Attack lay our.

2).按照地理位置,国家来创建不同的人名字

有同学说这个都是老外的地址,名字,能不能弄一些中文的名字。当然可以在这个fake是支持中文的名字和地址的:

我们只需要在Faker这个类初始化的时候选择zn_CN就可以了,看一些打印的结果

1 卢瑜 新疆维吾尔自治区刚市孝南哈尔滨路f座 656763

2 聂秀芳 上海市哈尔滨市怀柔孟路L座 322988

3 王娜 海南省丹县静安刘路q座 799385

4 叶建国 河北省石家庄市永川张街d座 521237

5 杜欢 安徽省帆县新城高路O座 228842


是不是很神奇啊,小编查了一下源码,这个神奇的库竟然支持模拟45个国家的人名字,地址等信息。


3).除了人名地址,还能模拟其他的数据

除了上面的人名,地址信息,faker这个库还能模拟出其他的更详细的数据,比如国家,省,城市,县城,区,街道,工作岗位,电话号码等。

1 黑龙江省 涛市 海港 辽宁省辛集市南溪济南路Z座 817565 汤桂兰 房产项目配套工程师 15663140494

2 山西省 邯郸市 沙湾 陕西省重庆县黄浦济南路v座 936582 蒋宇 集装箱业务 13783872876

3 海南省 嘉禾市 兴山 广东省海口县海陵马路M座 849210 王丽 电声/音响工程师/技术员 13196533827

4 湖北省 建华市 西峰 贵州省西宁县东城合肥路V座 856552 董秀珍 意大利语翻译 13414389884

5 宁夏回族自治区 辛集县 沙市 甘肃省辽阳县花溪甘路e座 168010 郭玉 组装工 18762413524


03.探索一下源码

小编也非常好奇,这个库哪里来的这么多的信息呢,有没有连接数据库的支持~~就能随意所欲的创造这么人的信息。


于是我深入源码探究了一番,原来在这个源码库里面有一个provider文件夹,里面存放了大量的信息,而且进行了分类整理整:


我们随便挑选一个文件夹people/zh_CN进去看一下,到底这个神奇的人名是怎么来的,为啥弄的有模有样的?

原来是hardcode了一堆固定的人姓和名字,然后按照男女进行分类,并且名字的姓还按照一定权重进行分布,比如王,李,张,刘这些都是用的比较多的名字,然后再用算法按照一定的规则进行随机生成。




探寻了一番觉得这个库还是很有意思的,尤其是在后端进行用户压力测试的非常有用!有兴趣的小伙伴可以下载玩一下,顺便探索一下它的源码,作者的代码结构写的非常工整,吸收一波功力。对这个库有兴趣的同学,欢迎留言吱一声。




推荐阅读


《Python黑魔法指南》全新版本 v2.0 上线发布

一篇文章掌握 Python 内置 zip() 的全部内容

一个没法商用,但是好玩有趣的 Python 手绘图形库!

Docker 被禁,有哪些开源产品可以替代

每个Python程序员都应该知道的10个缩写

带你用 Python 实现自动化群控(入门篇)

这个 Python 炫技操作千万不要用,别问我怎么知道的?



长按下图  ➡   关注博主

(按左边关注 Python, 按右边关注 Goalng



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/72820
 
1457 次点击  
文章 [ 1 ]  |  最新文章 4 年前