![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python
雨欲语
说再见就是一点一点死去
展开
-
Python集成kafka收集logging日志
Python集成kafka主要用到python-kafka和pyKafka,原创 2021-11-29 15:15:36 · 3117 阅读 · 7 评论 -
Python使用mock进行异步的单元测试
Python中进行单元测试,可以使用unittest中的mock进行数据的模拟,十分方便,但如果模拟的函数是异步的,就没有太多资料可以参考了,这里主要讲解模拟异步的返回数据怎么处理。 首先有个异步的函数需要模拟测试:class AsyncTest: async def test_async(a, b): return await sleep(1, result=a+b) async def test_add(a, b): ...原创 2021-11-04 16:55:39 · 672 阅读 · 0 评论 -
sqlalchemy相关操作
sqlalchemy是一个Python ORM工具,类似与Java中的Mybatis、Hibernate等ORM框架,这里主要介绍sqlalchemy的一些常用操作。 安装sqlalchemy:pip install sqlalchemy 基本查询操作:原创 2021-11-02 16:23:01 · 880 阅读 · 0 评论 -
Python定时库Apscheduler的简单使用
在Python中需要执行定时任务,可以使用Apscheduler。原创 2021-11-08 16:11:46 · 1708 阅读 · 0 评论 -
Python缓存cacheout的使用
在开发过程中,有时候可能为了优化性能,需要进行一些一级缓存的处理,实际就是缓存到内存中。对于缓存到内存中,可以自己实现一个全局变量来实现,也可以使用一些三方的开源库实现,这里主要讲述使用cacheout来实现缓存。 cacheout地址:https://github.com/dgilland/cacheout 文档地址:https://cacheout.readthedocs.io 特性: ①后端使用字典进行缓存...原创 2021-10-27 13:11:12 · 2800 阅读 · 0 评论 -
Python遍历删除字典报错:dictionary changed size during iteration
在尝试遍历Python的dict,然后删除key为某些值的数据的时候,出现报错信息:dictionary changed size during iteration 我们刚开始代码大概是这样:for key in results.keys(): if key == xxid: results.pop(key) 查看官方文档:PEP 234 -- Iterators | Python.orgThe official hom...原创 2021-10-19 17:16:34 · 1474 阅读 · 0 评论 -
Python使用Coverage进行代码覆盖率统计
Coverage是用于统计 Python 代码覆盖率的工具,支持分支覆盖率统计,生成 HTML 格式的统计报告,Coverage利用到了Python虚拟机的trace机制。 首先需要安装Coverage:pip install coverageCoverage有两种方式统计代码覆盖率:①Coverage命令行②Coverage API官方文档:https://coverage.readthedocs.io/en/latest/api....原创 2021-08-25 19:28:44 · 1824 阅读 · 0 评论 -
Python读取redis数据含有‘b‘
使用Python读取redis数据的时候,取出来的数据带有'b',也就是是bytes类型的: 解决办法,在连接redis数据库时,多加个参数:decode_responses=Trueself.redis = redis.Redis(host=RedisConfig.redis_host, port=RedisConfig.redis_port, db=0, decode_responses=True) 最后数据便是正常的String类型数据。...原创 2021-08-24 11:04:29 · 2016 阅读 · 0 评论 -
Python使用py2exe打包exe程序
py2exe可以将Python程序打包成exe程序,使得可以在没有Python环境的机器上运行。原创 2021-08-13 19:00:16 · 4120 阅读 · 0 评论 -
Python常用语法(长期更新)
1、set()用法:取交集:list1 & list2取并集:list1 | list2取差集:list1 - list22、lambda函数:lambda函数是一种小的匿名函数,语法:lambda arguments : expression,例:# 运行结果为17x = lambda a : a + 10print(x(5))3、循环高级用法:[x for x in xxx if(xxx)]4、list.sort():sort()方法语法:li原创 2021-08-10 19:13:31 · 393 阅读 · 0 评论 -
tornado的第一个hello,world!
tornado:①、轻量级web框架②、异步非阻塞IO处理方式③、出色的抗负载能力④、优异的处理性能,不依赖多进程/多线程,一定程度上解决C10K问题⑤、WSGI全栈替代产品,推荐同时使用其web框架和HTTP服务器 需要有python环境,环境这里就不讲搭建了,官方文档:https://www.tornadoweb.org/en/stable/,中文文档:https://t...原创 2021-07-28 15:36:16 · 354 阅读 · 0 评论 -
Windows10机器如何搭建airflow环境
airflow在Windows机器上部署十分不便利,甚至是部署不上,本文讲述如何在Windows10机器上部署。原创 2021-07-28 10:55:09 · 3351 阅读 · 0 评论 -
Python报错:AttributeError: ‘list‘ object has no attribute ‘item‘
运行python程序出现:AttributeError: 'list' object has no attribute 'item'。 这里主要是指找不到某个参数,查看python的包:pip list,查看marshmallow的版本,我这里是因为版本太低,是2.18.0,重新下载pip installmarshmallow==3.7.0,然后问题解决。 marshmallow是用作序列化的包,版本太低可能导致有些序列化不正确。...原创 2021-07-20 18:14:05 · 22478 阅读 · 3 评论 -
Python使用selenium模拟浏览器爬取某查查数据
在使用爬虫爬取某查查的数据的时候,会被识别到,进行反爬限制,最后使用selenium模拟浏览器进行爬取。原创 2021-05-07 19:50:54 · 1334 阅读 · 0 评论 -
python爬取动态cookie的页面
在使用requests进行爬虫的时候,很多时候回遇到反爬,其中一个就是cookie会动态变化,如何解决cookie动态变化呢? 当遇到此类反爬的时候,可以使用selenium来解决,selenium是一个使用代码操作浏览器的自动化工具,它可以模拟人操作电脑。 安装seleniumpip install selenium 先使用selenium获取到网页动态的cookie,然后再使用requests将cookie拼接到headers中...原创 2021-04-25 09:46:41 · 3942 阅读 · 6 评论 -
python使用hyper下载https2.0网站的excel
之前文章介绍了python使用hyper爬取https2.0网站的数据,最近需要下载https2.0网站的一个excel,具体的代码如下:import base64from hyper import HTTPConnection, tls#建立连接,并设置certs.pem证书conn = HTTPConnection('www.hkex.com.hk:443', secure=True,ssl_context=tls.init_context(cert_path=r'cert...原创 2021-04-23 17:03:00 · 1139 阅读 · 0 评论 -
hyper爬虫https2.0协议网站,使用py2exe无法打包certs.pem解决办法
最近使用hyper爬取https2.0协议网站的数据时,最后使用py2exe打包成exe后,发现证书certs.pem没有被打包进去。 前期一直在想办法使用py2exe将certs.pem打包进exe中,网上很多方法是直接将certs.pem复制进exe里面,但实际工作是根本行不通的;还有的是在setup中添加data_flies,但这个是进行一些资源文件添加的,是无法打包进exe中的,最后通过官方API解决,附地址:https://hyper.readthedocs.io...原创 2021-03-29 17:57:57 · 889 阅读 · 0 评论 -
Python报错:UnicodeDecodeError: ‘utf8‘ codec can‘t decode byte 0xa4 in position 712: invalid start byte
在对一个网页进行爬取的时候,数据能取下来,最后解析的时候报错:UnicodeDecodeError: 'utf8' codec can't decode byte 0xa4 in position 712: invalid start byte 意思是在进行解析的时候,使用utf8编码格式解析到712个字符的时候出错,去原网页F12,在Console中输入:document.charset,返回结果是GBK,表示该网页的编码格式是GBK,因此Python中应该使用GB...原创 2021-02-23 14:54:28 · 2485 阅读 · 0 评论 -
python使用hyper爬取http2.0协议的网页数据
最近在对港交所数据进行爬取时遇到些问题,港交所使用的事http2.0协议,其余的绝大多数是使用http1.1协议,因此导致无法爬取,最后发现使用hyper即可。 先安装:pip install hyper 接着导入hyper:from hyper import HTTPConnection API链接地址:https://hyper.readthedocs.io/en/latest/index.html 使用hyp...原创 2021-02-22 19:59:13 · 2587 阅读 · 0 评论