Python
DavidCao520
这个作者很懒,什么都没留下…
展开
-
如何在python中为类加入索引器[]
数据库中有张表parameters_table,里面记录的是产品的一些配置及可能动态变化的信息,实现索引器当然是操作此类表的最好方法class ParameterTables(Base): __tablename__ = 'parameters_table' id = Column(Integer, primary_key=True, autoincrement=True)原创 2015-02-27 20:13:23 · 3804 阅读 · 0 评论 -
Python的图片处理-待续
说到Python的图片处理必须要用到大名鼎鼎的PIL(Python Imaging Library)了,不过此项目现在似乎已经停止,在PYPI上搜索居然可以导致错误… 而Pillow则是PIL的一个兼容库,目前一直保持更新。没有怎么处理过图片,就着可能的需求先记录下使用吧 1. 将一张图片替换到另外一张图片的某个位置:from PIL import Imageim = Image.open(r'C原创 2016-06-24 17:37:48 · 442 阅读 · 0 评论 -
Tornado源码分析1-Configurable
class Configurable(object): “”“Base class for configurable interfaces.A configurable interface is an (abstract) class whose constructoracts as a factory function for one of its implementation原创 2016-06-25 10:09:58 · 614 阅读 · 0 评论 -
Python的线程/进程间通讯对象分析
Python提供了一系列的对象支持线程/进程间的通讯:LockRLockConditionSemaphoneBounderSemaphoneEventBarrier除了Lock,Rlock外,进程的相关对象只是线程相关对象的clone,而且进程的Lock,RLock也是与线程Lock,RLock相对应的对象。在这里我们只分析线程的这几种对象。 一般使用范围:Lock用于对互斥操作(原创 2016-06-26 15:49:08 · 2312 阅读 · 0 评论 -
Python-装饰器;Decorator模式
直接转载一篇吧,够详细。具体的链接没有留下来….这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。 第一步:最简单的函数,准备附加额外功能# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次'''def myfunc(): print("myfunc() called.")myfunc()myfunc()第二步:使用装饰函数在函数执转载 2016-06-26 17:13:42 · 415 阅读 · 0 评论 -
Python with语句及context manager
with语句是对context manager(上下文管理者,以下简称CM)方法的包装,适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。with_item ::= expression ["as" target] with-bodywith open(‘x.txt’, mode=’w+’)原创 2016-06-26 17:16:45 · 548 阅读 · 0 评论 -
Python包安装小技巧
Python windows库 我们的工作环境大多还是在windows平台,但是Python的很多第三方库在windows下并没有正式的安装文件,这时使用下面网站的库可以给我们节省不少时间: http://www.lfd.uci.edu/~gohlke/pythonlibs/ 应该说很少是没有的了;记住在windows上Python最好安装32位版本,因为很多库在windows上只提供了32原创 2016-07-06 22:20:04 · 474 阅读 · 0 评论 -
mongo-pymongo 数组操作
因为刚刚开始使用mongodb时时间比较急,没有比较系统的去学习文档,所以当时在对数组操作时都是自己写代码去操作,所以专门把数组操作单独记录下来 https://docs.mongodb.com/manual/tutorial/query-documents/#read-operations-arrays 插入测试数据db.users.insert( [ { _id:原创 2016-07-08 16:29:01 · 4665 阅读 · 0 评论 -
mongodb find语法记录
collection users 原始数据{ "_id" : 1.0, "name" : "sue", "age" : 19.0, "type" : 1.0, "status" : "P", "favorites" : { "artist" : "Picasso", "food" : "pizza"原创 2016-07-08 17:31:43 · 887 阅读 · 0 评论 -
Python 客制化类的创建过程
Python类的创建过程比较复杂,我们一步步来进行分析。 首先,从实现一个Singleton做起,先看下面的代码import copyclass Singleton: def __new__(cls, *args, **kwargs): print("In Singleton __new__") if not cls._instance:原创 2016-06-24 16:44:23 · 466 阅读 · 0 评论 -
Python的多线程/多进程
Python的线程使用方式跟进程的使用方式类似,这里通过线程来演示。 存在两种产生线程的方式 1. 直接使用Thread 2. 继承Thread 直接使用Thread的方式:def func(): print('Thread start') print('Thread end')if __name__ == '__main__': t = Thread(target=原创 2016-06-24 16:23:58 · 379 阅读 · 0 评论 -
python __init__.py
好歹也做了十几天的tornado,flask开发,怎么能不懂__init__.py转自: http://www.cnpythoner.com/post/2.htmlpython中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的转载 2015-01-30 13:35:51 · 495 阅读 · 0 评论 -
使用flask mail发送mail
参考: http://pythonhosted.org/Flask-Mail/ 使用pip安装插件: pip install Flask-Mail 在flask程序的config.cfg中加入以下内容,根据你邮件客户端的配置或者邮箱服务商提供的帮助文档即可: MAIL_SERVER = ‘mail.example.cn’ MAIL_PORT = 465 MAIL_USE_SSL = Tr原创 2015-03-10 19:52:44 · 1276 阅读 · 0 评论 -
自动生成Sqlalchemy的models文件
自动生成Sqlalchemy的models文件的包早用过了,今天维护一个较老的工程,有个字段类型做了改动,调了得10几分钟才搞定。记录下自动生成models文件的python包sqlacodegen sqlacodegen已经加入pypi,只需要使用pip install sqlacodegen就可以安装了 安装后即可运行命令生成models.py文件了 假设数据库连接字符串是: mysql:原创 2015-06-25 17:31:29 · 9474 阅读 · 3 评论 -
去年的Python工程师面试题
这是一年前应聘一家游戏公司后台Python工程师的笔试题,由对方发给我,我在当晚花了几个小时查资料做的。那会对Python基本就属于有点基础语法的认识,发在百度文库居然浏览量-下载量=1,发在blog里面show下。黑颜色以外的部分以及所有答案是我回答的。[讲解]什么是 lambda函数?它有什么好处?另外 python在函数式编程方面提供了些什么函数和语法原创 2015-05-25 16:00:56 · 1109 阅读 · 0 评论 -
assignment,shallow copy,deep copy,引用,不可变对象
要了解assignment,shallow copy,deep copy这3个概念,就必须明白Python的所有变量都只是引用。引用比如 i =1; ii=i; iii=ii; >>> for x in i, ii, iii:... id(x) # id是Python中类似于获取对象内存地址的函数... 143103227214310322721原创 2016-05-20 21:06:47 · 428 阅读 · 0 评论 -
Python限制函数运行时间,记录函数运行时间的装饰器
平时会碰到一些实时项目,有些函数必须要在某一时限完成,所以必须要加入一些手段去监控函数的运行时间,下面的装饰器time_limit提供了这么一个功能,如果函数未能在规定时间内完成,则会抛出TimeoutError。 log_time_delta可以对函数运行时间进行一个记录。from functools import wrapsfrom threading import Timerimport原创 2016-06-24 13:59:03 · 8265 阅读 · 4 评论 -
yield,generator type
yield语句只用于定义generator函数,调用generator函数会返回一个geneator对象g; 可以通过调用g的方法控制g的运行 generator内部的变量及调用栈等都可以在generator的运行/挂起过程中得到保存,这个特性跟corountine很像,实际上像Tornado等也是利用yield,异步IO等实现的协程。原创 2016-06-24 14:44:43 · 529 阅读 · 0 评论 -
Python的method, class method, static method
method是类的成员函数,必须由类的实例来调用,可以访问类的实例,第一个参数默认是实例。 class method可以由类,类的实例来调用,但第一个参数默认是类 static method可以由类,类的实例来调用,没有默认参数原创 2016-06-24 14:46:45 · 481 阅读 · 0 评论 -
为什么有这么多 Python?
通俗易懂,对Python的各种版本区别有了一定了解。 转自: http://www.open-open.com/lib/view/open1380418623307.html https://www.toptal.com/python/why-are-there-so-many-pythons Python是出类拔萃的然而,这是一句非常模棱两可的话。这里的”Python”到底指的是什么? 是转载 2016-08-20 14:15:38 · 563 阅读 · 0 评论