
python实战技巧
文章平均质量分 62
蚁方阵
千里之行,始于足下,用代码编织技术人生
展开
-
python实战技巧1:安装MYSQL Connector
本文介绍了如何在python中安装MYSQL Connector。原创 2016-08-06 00:00:08 · 3835 阅读 · 0 评论 -
Mac OS上安装MySQL_python
直接利用“pip install mysql_python”安装肯定是不行的,提示如下错误: File "setup_posix.py", line 26, in mysql_config raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_con...原创 2018-07-05 16:04:41 · 2881 阅读 · 0 评论 -
在Visual Code中启用virtualenv
首先配置好virtualenv,具体过程请参见《搭建高效的Python开发环境》。用Visual Code打开python项目,选择菜单“调试>打开配置”,出现“launch.json”的编辑视图,在文件顶部很容易就找到如下内容:{ "name": "Python", "type": "python", "request": "launch", "stopOnEntr原创 2017-12-15 17:56:05 · 10202 阅读 · 0 评论 -
Python判断对象是否是function的三种方法
在Python中,判断一个对象是否是方法有如下三种方法。1. 根据“_ call _”属性判断有时候用python就有这么一种感悟,各种钩子函数就是通过内置的“”属性实现,python学得好不好,就是对“”属性理解得透彻不透彻。python函数在调用时,一定会首先调用其相关“_ call _”函数(没有空格),请参见python总结(四):类装饰器与方法的动态添加中的用法。add = lambda原创 2017-09-20 22:24:08 · 28070 阅读 · 5 评论 -
MacOS安装virtualenvwrapper出错的解决办法
在MacOS安装virtualenvwrapper,提示如下错误:Exception:Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) Fi原创 2017-12-13 21:18:24 · 1410 阅读 · 0 评论 -
怎样重启Gunicorn
1. 寻找masterpid通过执行如下命令,可以获取Gunicorn进程树:pstree -ap|grep gunicorn得到如下的结果。|-grep,6194 --col gunicorn | `-gunicorn,30080 /usr/local/bin/gunicorn collect:app -c collect_gunicorn.py | |-gunicorn,原创 2017-12-12 21:34:18 · 10267 阅读 · 0 评论 -
python总结(四):类装饰器与方法的动态添加
在python中,装饰器处理作用于方法上用于增强方法外,还可以作用与类,用于类的功能增强与修订,实现代理模式、装饰模式等效果,甚至可以达到继承以及mixin的效果。1. 定义类装饰器定义类装饰器非常简单,仅接受唯一的参数——待装饰的类,这里以统计类的初始化实例为例,每初始化一个实例,则计数加1,如下:def instCounter(cls): oldInit = cls.__init__原创 2017-09-19 22:47:36 · 4467 阅读 · 0 评论 -
python总结(一):AOP与装饰器
如果有AOP的编程经验,理解Python的装饰器就是分分钟的事。既然是装饰器,那么对被装饰的对象来说,一定是功能得到了增强,按方法能增强的地方进行划分,又可以分为以下四类: 1. 方法调用前; 2. 方法调用后; 3. 方法调用前后(环绕); 4. 方法调用异常;我们以一个简单的加法运算来进行说明,按方法的增强点依次进行功能增强,首先看加法的代码,非常简单:def add (a, b):原创 2017-09-17 18:30:11 · 3265 阅读 · 1 评论 -
python总结(三):格式化字符串占位符的三种方法
相比与其他动态语言,如scala、javascript(es6版本以上)、groovy等,python处理字符串插值显得较为笨拙,没有在语言中就内置了支持,总结起来,大概有三种方法。1. 字符串format方法这是字符串自身携带的方法,非常高效,并且容易理解,建议作为首选,实现方式如下:# 将函数参数转换为字典def format(**args): tmpl = 'My name is原创 2017-09-18 21:49:18 · 13477 阅读 · 0 评论 -
python总结(二):控制台中文乱码的解决办法
在编写bash终端应用程序中,如果字符串里含有中文字符,可能会出现乱码。这里以Win 10为例进行代码测试,utf8.py的内容如下:#!/usr/bin/env python# -*- coding: UTF-8 -*-value = '蚁方阵'print value以Windows的CMD终端运行代码:python utf8.py# 输出 铓佹柟闃 乱码至于乱码的原因,因为python文原创 2017-09-17 21:22:49 · 19439 阅读 · 0 评论 -
python总结(六):元类与方法的默认实现
通过元类,可以修改类的方法与实现,根据“_ init_”与“_ new_”方法钩子的不同,可以在类创建后与类创建前添加控制,在类创建前可提供默认实现,在类创建后可以提供方法检查、属性检查与覆盖实现。在大部分的情况下,通过继承可以实现元类的大部分功能,所以在99%的情况下,元类基本都用不上,但是需要对类自身进行操作时,元类就排上了用场,下面是具体步骤。1. 创建元类元类必须要继承types,或者是其他原创 2017-09-25 22:05:22 · 1613 阅读 · 0 评论 -
python “Use of super on an old style class”的解决办法
在调试代码时,发现引用的第三方架包突然提示如下错误:E1002:<line,row>:Employee.__init__: Use of super on an old style class仔细诊断代码,发现相关的内容如下:class Base: def __init__(self, username, age): self.username = username原创 2017-09-23 10:02:25 · 1639 阅读 · 0 评论 -
python总结(五):__get__、__getattr__、__getitem__、__getattribute__之间的差异与联系
python的一切数据都是对象,包括函数、基本数据类型、自定义数据类型等等,这其中最复杂的就是对象内部存储的数据结构(引用),包括类属性、数据描述符、实例属性及非数据描述符,不仅它们的优先级不一样,而且它们的回调函数也存在很大的差异,这也是本文需要阐述的地方。如果以前有过Javascript的编程经验,初上Python肯定会对“.”运算符与“[]”之间的差异难以理解,它们不仅不能替换,而且完全不相关原创 2017-09-23 10:00:43 · 15430 阅读 · 1 评论 -
搭建高效的Python开发环境
在CentOS 7中,默认的python版本是2.7.5,这对于python程序多版本的开发与维护还是远远不够的,如下:[root@localhost ~]# python --versionPython 2.7.51. 安装pip从pip官方上下载get-pip.py,然后执行如下命令即可完成安装:# 下载地址为 https://bootstrap.pypa.io/get-pip.py原创 2016-12-01 13:29:31 · 2774 阅读 · 0 评论 -
“Libraries for lz4 compression codec not found”的解决办法
升级Kafka服务器后,运行正常的Python程序突然报错: File "/usr/local/lib/python2.7/site-packages/kafka/record/legacy_records.py", line 240, in __iter__ self._buffer = memoryview(self._decompress(key_offset)) ...原创 2018-08-20 19:19:59 · 7252 阅读 · 0 评论