python
文章平均质量分 72
tony_qucheng
这个作者很懒,什么都没留下…
展开
-
SqlAlchemy转dict新玩法
Sqlalchemy 转dict原创 2023-02-15 16:10:38 · 254 阅读 · 0 评论 -
简单分布式锁
分布式锁简述: 分布式锁主要解决在不同服务器上访问临界资源导致的错乱, 在目前手上业务中主要解决对于mysql的读写问题。首先第一种方案: Mysql的悲观锁,带来的负面影响是并发性不高,可能会导致数据库宕机第二种方案: Mysql的乐观锁,如果两个服务要修改一条数据,首先访问这条数据,并记录其版本号,然后在修改的时候where条件里加上版本号的筛选,如果修改成功则会连带版本号一起修改,而修改不成功则说明,修改前版本号已经被修改过了,即被其他服务拿到锁并修改了。第三种方案: 使用r原创 2022-03-30 10:03:06 · 748 阅读 · 0 评论 -
Kafka学习
Kafka消息中间件一、为什么使用Kafka1.1 什么是Kafka Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览、搜索和其他用户的行动)是在现代网络上的许多功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决转载 2020-11-23 21:53:46 · 185 阅读 · 0 评论 -
Pandas的基本使用
Pandas的基本使用一、查询使用单个label值进行查询import pandasdf = pandas.DataFrame(Data)#得到单个值df.loc['2018-01-03', 'bWendu']#得到一个Seriesdf.loc['2018-01-03', ['bWendu', 'yWendu']]使用值列表批量查询#得到Seriesdf.loc[['2018-01-03', '2018-01-04'], 'bWendu']#得到DataF原创 2020-11-22 17:41:35 · 550 阅读 · 0 评论 -
解决pandas写大量数据到mysql,报system error: 32 Broken pipe
把数据切成以一万为单位进行存储 size = 10000 df_size = len(df) num = df_size//size end_ = 0 for i in range(num): begin = i*size end = begin+size end_ = end print(begin,end)原创 2020-11-17 15:53:18 · 404 阅读 · 0 评论 -
协程的简单使用
import asyncioloop = asyncio.get_event_loop()async def insert(report_date, init_asset_entity_list, section): passif __name__ == "__main__": tasks = [] for section in section_list: tasks.append(insert(report_date, init_asset_entity原创 2020-11-12 18:30:03 · 193 阅读 · 0 评论 -
IO多路复用select/poll/epoll介绍
IO多路复用select/poll/epoll介绍为了搭建一个服务器,要接受很多的请求,应对高并发,要用多线程,那就面临上下文切换那就要用单线程来应对高并发,应对IO有DMA不会让数据丢失。在linux中,一切皆文件,我们会写一个while True来遍历,然后用if判断里面是否有内容。select流程首先将用户态的rset(就是一个bitmap,文件描述符)拷贝到内核态中。在内核太中遍历rset标记有内容文件的位置,有数据的那个FD会被置位。然后select返回有数据的,如果原创 2020-10-02 10:39:28 · 176 阅读 · 0 评论 -
scrapy框架常用从头到尾巴
总结scrapy框架一. 核心组件和中间件引擎 engine 自动运行,无需关祖,会自动组织所有的请求对象,分发给下载器下载器 downloader 从引擎处获取到请求对象后,请求数据爬虫 spiders scrapy.Spider 普通的爬虫 scrapy.CrawSpider 可设置规则的爬虫类 Rule规则类 start_requests()开始函数调度器 scheduler管道 Item pipeline 清理HTML数据 验证爬去的数据(检查item包含某些字段)原创 2020-09-05 16:56:48 · 573 阅读 · 0 评论 -
Djanog环境下运行python运行脚本
当我们在Django环境中想进行测试接口时,你需要Django环境,这样你就可以运行如make_password等函数。import os,syssys.path.insert(0,'你的项目路径')os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bqgpro.settings') #这一行可以在你的manange.py中找到import djangodjango.setup()...原创 2020-08-15 14:35:25 · 227 阅读 · 0 评论 -
装饰器的前世今生
概念在不修改元函数或者原对象的基础上,给该函数或者对象增加新的功能这种工作机制在python中被成为装饰器【Decorator】语法:装饰器的本质就是一个闭包【Closure】闭包的写法def outter1(): num1=10 def inner1(): print (num1) return inner1f1=outter1() f1()#装饰器的书写语法def outter2(num): def inner2(): print(num) retu原创 2020-06-08 12:34:02 · 122 阅读 · 0 评论 -
python的抽象类
抽象类:类中可以存在抽象方法,类中的抽象方法是由子类来实现,如果通过类的实例是不能被调用的抽象方法,只能由子类的实例对象来调用(子类要重写抽象方法)。class Print: def black_print(msg): raise Exception('必须子类实现') def rgb_print(msg): passprint=Print()print.black_print('sss') #应该抛出异常写子类来重写父类方法class Print:原创 2020-06-05 16:32:40 · 264 阅读 · 0 评论 -
with上下文
“”"with时上下文的关键字,将使用with的对象交给python上下文管理器1)当对象进入上下文时,调用对象的__enter__()方法,如果方法有返回值,则是用as接收2)当对象退出上下文时,调用对象的__exit()__方法,如果方法返回False,若有异常抛出如果返回True,若有异常不会抛出3)enter(self)4)exit(self,except_type,except_val,except_traceback)“”"class DB(): def __init__原创 2020-06-05 10:26:12 · 160 阅读 · 0 评论 -
Python数据库编程
在世纪业务中,会产生大量的数据,数据库可以将这些数据永久地保存起来。在Python中针对Mysql可编程的库:pymysql,mysqlclientpymysql安装 pip install pymysqlfrom pymysql import connetconn=Connect( host="127.0.0.1", user="root", password="root", port=3306, db='pdb', charset='utf8',原创 2020-06-04 17:46:08 · 776 阅读 · 0 评论