python
文章平均质量分 53
你喝不喝热水啊
一个懒惰又勤奋的coder
展开
-
celery-redbeat方案(动态定时任务、异步任务)
当多个 Beat 进程或服务器同时运行时,通过获取这个锁,只有获取到锁的进程或服务器可以执行任务调度,其他进程或服务器会被阻塞等待锁的释放。同时如果这个锁存在会给锁续期。我们使用的k8s多pod服务,每个pod服务中的项目代码都是同一套一样的(不管是server还是celery还是beat),发现如果某个pod重启了,会将前面方案中的第二点中的预加载init函数(为了重置所有定时任务,防止异常数据残留)执行一次,就是会清空redis关于redbeat的数据然后重新加载数据,这就导致了所有数据和锁消失了~~原创 2024-06-11 16:01:36 · 1077 阅读 · 0 评论 -
python实现根据配置执行不同代码块
python实现根据配置执行不同代码块原创 2023-03-21 17:17:35 · 414 阅读 · 0 评论 -
python django设计流水号生成,带访问加锁,重试
python django设计流水号生成,带访问加锁,重试原创 2023-03-20 17:03:46 · 513 阅读 · 0 评论 -
Python实现 多进程导入CSV大文件到数据库,pandas分块读取
Python实现 多进程导入CSV大文件到数据库,pandas分块读取原创 2023-03-15 17:35:30 · 2618 阅读 · 0 评论 -
python实现大文件切片及组装
有助于实现文件切片传输,断点续传等。原创 2023-03-15 11:38:32 · 335 阅读 · 0 评论 -
Python 实例方法、类方法、静态方法的区别与作用
Python 实例方法、类方法、静态方法的区别与作用原创 2023-03-14 16:40:54 · 412 阅读 · 0 评论 -
解决python3安装库报use_2to3 is invalid的错误
解决python3安装库报use_2to3 is invalid的错误原创 2022-11-16 11:47:21 · 1118 阅读 · 0 评论 -
记录PaddleOcr的使用2 -- GPU
记录PaddleOcr的使用-GPU原创 2022-11-02 16:45:08 · 5908 阅读 · 2 评论 -
记录PaddleOCR的使用
PaddleOcr原创 2022-10-27 14:43:01 · 2256 阅读 · 0 评论 -
关于pip安装包异常 No matching distribution found for setuptools_scm
关于pip安装包异常 No matching distribution found for setuptools_scm原创 2022-06-23 16:33:18 · 3533 阅读 · 0 评论 -
Python虚拟环境使用方法
Python虚拟环境使用方法转载 2022-06-23 09:25:52 · 408 阅读 · 0 评论 -
python小技巧
python小技巧原创 2022-06-15 08:58:41 · 161 阅读 · 0 评论 -
关于 数据库关联是选择外键还是选择在业务层处理?
关于 数据库关联是选择外键还是选择在业务层处理?转载 2022-04-12 16:14:30 · 344 阅读 · 0 评论 -
Python decimal小数精度问题
Python decimal小数精度问题原创 2022-04-06 08:34:07 · 1597 阅读 · 0 评论 -
python聚合函数aggregate和annotate的小坑
最近在工作项目中发现了一个坑,就是关于aggregate和annotate这两个聚合函数的区别用法。现在百度上很多搜索的答案对初学者不是很友好,就是直接给出了一句代码,然后也不讲清楚,就用 annotate后的结果 取第一条(如:a[0]) 取值。这样就导致很多初学者也不会去思考太多,直接copy下来就用,最后导致数据汇总有问题(也不止初学者了,项目组里面有些工作了几年的人都不知道二者区别,也是百度到了直接copy用)annotate 是分组聚合,返回的结果是一个列表,是根据排序字段把同类分组后再按组原创 2021-08-03 15:05:55 · 701 阅读 · 0 评论 -
Python去除小数点后面多余的0
最近做项目遇到一个问题,数据全部要求deciaml格式,如果是6位小数就导致1.00000这种情况的存在,百度了很多,这里吐槽一下百度真的不行。最后查到了一个方法,这里记录一下举个例子 数字 100.2000第一次 这么使用 Decimal(‘100.2000’).normalize() 得到的结果 100.2是想要的结果。可是 normalize()有个问题,如果是100.00000 同样Decimal(‘100.0000’).normalize()得到的结果就是1E+2那么这种情况怎么办呢,原创 2021-07-04 09:29:34 · 10083 阅读 · 0 评论 -
python中数组,列表,元组的区别、定义、功能
首先,准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组。列表比元组好用,因为元组一旦定义就没法修改。而列表不仅可以和数组一样按索引访问,还有一堆的功能。列表和元组相比,可直接调用的函数更多也可以进行更改,但是元组一经定义就无法更改,所以首推列表。如果非要使用数组,咱们python也有,用python中的numpy库可以实现对数组的定义:列表是由一系列按特定顺序排列的元素组成,可以将任何东西加入列表中,其中的元素之间没有任何关系; Python中的列表(list)用于顺序存原创 2021-04-21 16:37:21 · 684 阅读 · 0 评论 -
Python Django报错UnorderedObjectListWarning: Pagination may yield inconsistent results with
Python Django报错UnorderedObjectListWarning: Pagination may yield inconsistent results with今天突然看到后台报出这个错误 虽然并没有影响使用 但作为强迫症还是想处理掉该问题。这是Django自带的分页报错的警告,分页前必须排序解决方法方法一:在需要进行查询的模型类中增加ordering参数class Meta:db_table = ‘tb_sku’verbose_name = ‘商品SKU’verbose原创 2021-03-17 17:47:53 · 504 阅读 · 0 评论 -
Python Django使用序列化器查询时嵌套子表数据
Python Django使用序列化器查询时嵌套子表数据其中 ready_only 代表只读不写 即使用序列化新增或修改时不存入数据库so_return_item 和 so_return_org代表外键的 related_name=‘so_return_item’goods_info 表示返回一对多 返回的子数据存在goods_info中,是一个数组subsidiary_code 是表示一对一 返回一个普通字段(key)...原创 2021-03-17 17:39:25 · 579 阅读 · 0 评论 -
python Django中使用序列化器新增后获取ID
python Django中使用序列化器新增后获取ID原创 2021-03-17 17:34:50 · 694 阅读 · 0 评论 -
Django中写定时任务使用crontab自动执行不能直接导入model
Django 在crontabs.py中写定时任务方法时,设置自动跑定时任务不能直接from . import serializer as all_serializer, models as all_models需要先导入setting配置文件 再导入具体app的modelos.environ.setdefault("DJANGO_SETTINGS_MODULE", "gpms.settings")# project_name 项目名称django.setup()from pm.models im原创 2021-01-18 08:43:22 · 207 阅读 · 0 评论 -
Django在View中 ‘cx_Oracle.Cursor‘ object has no attribute ‘commit‘
场景 :# 连接数据库cursor = connection.cursor()cursor.commit()cursor.close()正确的写法应该是:# 连接数据库cursor = connection.cursor()connection.commit()cursor.close()启发来源:原本是这么写的:conn = sqlite3.connect('fitkits.db')cursor = conn.cursor()cursor.commit()正确的写法:原创 2021-01-16 09:03:37 · 1675 阅读 · 1 评论 -
Python将输入的一个数字先保留两位小数,整数部分用三位分节法表示
将输入的一个数字先保留两位小数,整数部分用三位分节法表示def format_number(amount): ''' 将一个数进行格式化输出: 先将该浮点型数进行四舍五入,保留两位小数,然后转换为string类型,以小数点分割,切割出整数部分和小数部分, 再对整数部分进行格式化,最终将格式化的整数部分与小数部分进行拼接就是最终结果。 :param amount: float :return: string ''' zheng,xiaoshu原创 2020-12-04 09:53:32 · 1236 阅读 · 2 评论 -
Python保留两位小数,并做四舍五入处理
保留两位小数,并做四舍五入处理方法一:使用字符串格式化a = 12.345print("%.2f" % a)# 12.35方法二: 使用round内置函数a = 12.345a1 = round(a, 2)print(a1)# 12.35方法三: 使用decimal模块from decimal import Decimala = 12.345Decimal(a).quantize(Decimal("0.00"))Decimal('12.35')仅保留两位小数,无需四舍五入原创 2020-12-04 09:52:17 · 4168 阅读 · 0 评论 -
Django QueryDict对象
Django QueryDict对象在HttpRequest对象中,GET和POST属性都是一个django.http.QueryDict的实例。也就是说你可以按本文下面提供的方法操作request.POST和request.GET。request.POST或request.GET的QueryDict都是不可变,只读的。如果要修改它,需要使用QueryDict.copy()方法,获取它的一个拷贝,然后在这个拷贝上进行修改操作。data_copy = request.data.copy()一、方法Query原创 2020-12-04 09:43:33 · 375 阅读 · 0 评论 -
Python获取当前日期以及对日期数据的处理
**Python获取当前日期以及对日期数据的处理**import datetimefrom dateutil.relativedelta import relativedelta#获取当前日期的上一个月和后一个月print(datetime.date.today())print(datetime.date.today() - relativedelta(months=+1))print(datetime.date.today() - relativedelta(months=-3))1原创 2020-12-04 09:01:01 · 856 阅读 · 0 评论 -
python Django框架 跨域请求问题
在 项目setting文件#设置可跨域范围CORS_ALLOW_CREDENTIALS = TrueCORS_ORIGIN_ALLOW_ALL = True#定义跨域中间件'corsheaders.middleware.CorsMiddleware',原创 2020-11-12 16:50:46 · 174 阅读 · 0 评论 -
python在with open()函数中,如何在文件名设置中引用变量
用format()函数name = "wz"age = "25"with open("C:/Users/{0}_{1}.txt".format(name, age), "w", encoding = "utf-8") as f1: f1.write("hellow world")则文件名为 wz_25.txt原创 2020-11-12 16:47:59 · 3575 阅读 · 2 评论 -
python分割文件目录/文件名和后缀(附件的网址也可以)
比较方便的切割目录/文件名/后缀import osfile_path = “D:/test/test.py”(filepath,tempfilename) = os.path.split(file_path)(filename,extension) = os.path.splitext(tempfilename)filepath为文件的目录,即 D:/testfilename为文件的名字,即 testextension为文件的扩展名,即 .py...原创 2020-11-12 16:36:33 · 645 阅读 · 0 评论