随笔分类 - Python
摘要:Django Celery 配置实践 所需环境 python 3.5.2 rabbitmq 安装所需的包 pip install -r requirements.txt QuickStart 创建Django项目 创建一个名为proj的Django项目 django-admin startproje
阅读全文
摘要:记录下Django关于日期的配置,以及如何根据日期滚动切割日志的问题。 配置的源码在githun上 https://github.com/blackmatrix7/django-examples/tree/master/django_logs 准备 环境 python 3.5.2 djang 2.0
阅读全文
摘要:说点什么: 整理下工作中配置celery的一些实践,写在这里,一方面是备忘,另外一方面是整理成文档给其他同事使用。 演示用的项目,同时也发布在Github上: https://github.com/blackmatrix7/celery demo 这份笔记会随着经验的积累,逐步调整完善,不过通常情况
阅读全文
摘要:前几天在给个list做排序的时候,隐隐约约想起来有个语法糖可以替代lambda函数,用来获取list中dict的key,作为排序的key。 这个语法糖平时用得少,怎么都想不起来。今天查看python标准库operator时,终于把这两个方法找到了,做个笔记。 因为就是一个语法糖,太简单了,没必要做太
阅读全文
摘要:运行环境: Python 3.5.2 Django 2.0.3 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显示的中文名称。verbose_name为单数名称,verbose_name_plural为复数名称。因为中文没有区分单数、复数,所以都定义
阅读全文
摘要:生成器(yield)作为协程 yield实际上是生成器,在python 2.5中,为生成器增加了.send(value)方法。这样调用者可以使用send方法对生成器发送数据,发送的数据在生成器中会赋值给yield左侧的变量(如果有的话),可以生成器可以作为协程使用。 下面是一个使用生成器实现的,求平
阅读全文
摘要:闭包是在其词法上下文中引用了自由变量的函数。 通俗地说,就是函数嵌套(后续称之为外层函数)另外一个函数(后续称之为内层函数),在内层函数中,引用外层函数的变量,每次对内层函数的调用,外层函数变量的值都会进行保持。 用个简单的例子来说明,使用闭包实现一个函数,求所有传入的数字的平均值。 上面的例子中,
阅读全文
摘要:函数签名对象,表示调用函数的方式,即定义了函数的输入和输出。 在Python中,可以使用标准库inspect的一些方法或类,来操作或创建函数签名。 获取函数签名及参数 使用标准库的signature方法,获取函数签名对象;通过函数签名的parameters属性,获取函数参数。 创建函数签名 使用类P
阅读全文
摘要:对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。 from string import Template,可以导入Template类。 实例化Template类需要传入一个T
阅读全文
摘要:实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/blob/master/toolkit/config.py 使用示例: 在项目根目录创建 confi
阅读全文
摘要:简单实现了一个在函数执行出现异常时自动重试的装饰器,支持控制最多重试次数,每次重试间隔,每次重试间隔时间递增。 最新的代码可以访问从github上获取 https://github.com/blackmatrix7/matrix-toolkit/blob/master/toolkit/retry.p
阅读全文
摘要:描述符可以细分为覆盖型描述符与非覆盖型描述符。 可以按如下规则区分它们: 实现 __set__ 方法的类,称之为“覆盖型描述符” 没有实现 __set__ 方法的类,但实现了__get__方法的类,称之为“非覆盖型描述符” 同时实现 __set__ 和 __get__ 方法的类,通常称之为“强制描述
阅读全文
摘要:因为描述符本身可以接管实例属性的访问,利用这个特点,可以使用描述符来实现一些实例属性的类型检查工作。 先定义一个描述符 Point,用于管理坐标信息。 定义一个Address类,及类属性home,home接收一个坐标信息 实例化Address,并对实例属性进行赋值 第一次,赋值给home一个正确的坐
阅读全文
摘要:描述符通过描述符协议实现,任何实现或部分实现以下方法的类,都可以作为描述符使用。 __get__ 方法接收三个参数:self为描述符实例自身; instance指访问属性所属的实例;owner指描述符实例附加到的类。 __set__方法的前两个参数于__get__方法相同,第三个参数value为需要
阅读全文
摘要:在开始正文之前,需要了解下Python的绑定方法(bound method)和非绑定方法。 简单做个测试: 定义一个类,类中由实例方法、静态方法和类方法。 逐个测试,测试的结果在注释说说明。 接着尝试把一个函数,绑定到类或者实例上。 第一种方法,直接将函数赋值给类。 上面这种方法,存在一些局限性。比
阅读全文
摘要:早上在opensuse安装pycurl,一直出现如下错误: 经过查询后,了解到需要先安装 libcurl-devel 执行以下命令解决: 接着重新安装pycurl: pip uninstall pycurl 先卸载之前安装的,如果没有安装成功就不要卸载了执行 export PYCURL_SSL_LI
阅读全文
摘要:通常来说,实现上下文管理器,需要编写一个带有__enter__和 __exit__的类,类似这样: 然而,在contextlib模块中,还提供了@contextmanager装饰器,将一个生成器函数当成上下文管理器使用,上面的代码在大部分,是与下面的代码等效的。 本文的list_transactio
阅读全文
摘要:python 3 之后,都是统一适用format对字符串进行格式化。 通常情况是这样的 如果希望格式化后的字符串还包含{}占位符,那么就需要这么写 当一个占位符再次被{}括住之后,这个占位符就不会生效,字符串格式化之后,还会保留占位符{article_id}。 这种适合字符串需要二次格式化的情况。
阅读全文
摘要:记录下Sqlalchemy遇到的问题,不定时更新。 设置主键为非自增 sqlalchemy 在sql server中默认主键是自增的,如果在数据库设置的主键不是自增的,这个时候插入就会出现异常: 提示does not have the identity property 这个时候需要在主键中设置au
阅读全文
摘要:做个笔记,记录下使用celery踩过的坑,不定期更新。 warnings.warn(CDeprecationWarning(W_PICKLE_DEPRECATED)) 我用的是Flask,所以在Flask的配置文件 confg.py 中,设置好CELERY_ACCEPT_CONTENT这个属性即可。
阅读全文

浙公网安备 33010602011771号