
python
文章平均质量分 77
来福88
这个作者很懒,什么都没留下…
展开
-
用pyExcelerator和win32com.client从mysql中导出数据到excel。
# -*- coding: utf-8 -*-import win32com.client as win32import MySQLdbfrom pyExcelerator import *addr = raw_input('输入地址: ')def readdb(): # 封装数据 #连接数据库 conn = MySQLdb.connect(h原创 2013-07-02 10:29:58 · 816 阅读 · 0 评论 -
Python开发容易忽略的问题
这篇文章主要介绍了Python程序员代码编写时应该避免的17个“坑”,也可以说成Python程序员代码编写时应该避免的17个问题,需要的朋友可以参考下一、不要使用可变对象作为函数默认值复制代码代码如下:In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(va原创 2014-06-23 15:57:27 · 1156 阅读 · 0 评论 -
Python中的staticmethod和classmethod 的异同
class MethodTest(): var1 ="class var" def__init__(self, var2 = "object var"): self.var2 = var2 @staticmethod defstaticFun(): print'static method'原创 2014-09-26 18:44:20 · 791 阅读 · 0 评论 -
Python数据结构——collections
Python包括很多标准编程数据结构,如list,tuple,dict,set,这些属于内置类型collections模块包含多种数据结构的实现,扩展了其他模块中相应的结构。Counter是一个容器,可以跟踪相同的值增加了多少次。这个类可以用来实现其他语言常用包或多集合数据结构来实现的算法。Deque是一个双端队列,允许从任意一端增加或删除元素。defaultd原创 2014-12-10 16:24:38 · 822 阅读 · 0 评论 -
浅谈 Python 的 with 语句
浅谈 Python 的 with 语句with 语句是在 Python 2.5 版本引入的,从 2.6 版本开始成为缺省的功能。with 语句作为 try/finally 编码范式的一种替代,用于对资源访问进行控制的场合。本章对 with 语句进行介绍,包括 with 语句的基本语法和工作原理,自定义支持 with 语句的类,以及使用 contextlib 工具加入对 with转载 2015-03-11 18:15:27 · 766 阅读 · 0 评论 -
virtualenv
virtualenvvirtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1. 在没有权限的情况下安装新套件2. 不同应用可以使用不同的套件版本3. 套件升级不影响其他应用安装sudo apt-get install python-virtualenv使用方法virtualenv [虚拟环境名称] 如转载 2015-07-08 19:15:52 · 446 阅读 · 0 评论 -
扩展Django:实现自己的manage命令
我们都用过Django的django-admin.py和manage.py。django-admin.py是一个命令行工具,可以执行一些管理任务,比如创建Django项目。而manage.py是在创建每个Django project时自动添加在项目目录下的,只是对manage.py的一个简单包装,其功能是将Django project放到sys.path目录中,同时设置DJANGO_SETTING转载 2015-09-07 15:24:07 · 483 阅读 · 0 评论 -
python yield用法
初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。您可能听说过,带有 yield 的函数在 Python 中被称之为原创 2014-01-24 15:32:52 · 835 阅读 · 0 评论 -
Python任务调度模块 – APScheduler
APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务、并以daemon方式运行应用。目前最新版本为3.0.x。在APScheduler中有四个组件:触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行。除了他们自己初始配置意外,触发器完全是无状态的。转载 2016-03-17 12:21:32 · 1709 阅读 · 0 评论 -
八大排序算法的 Python 实现
1、插入排序 def insert_sort(lists): # 插入排序 count = len(lists) for i in range(1, count): key = lists[i] j = i - 1 while j >= 0: if lis转载 2016-03-17 12:35:17 · 542 阅读 · 0 评论 -
uWSGI+Nginx+Django安装和配置
WSGI是为python语言定义的通用网关接口,它承担python web框架(django、flask、web.py等)和web服务器(nginx、apache、lighttpd等)之间的中间层。 浏览器 chrome、firefox、ie等 | web服务器 nginx、apache等转载 2016-04-26 19:23:36 · 10568 阅读 · 2 评论 -
Pyenv教程
初识pyenv: 它是一个简单的Python版本管理工具。前身为Pythonbrew,pyenv允许你改变全局的python版本,安装多种不同的python版本,设置应用指定的python版本以及创建/管理虚拟的python环境(”virtualenv’s”)。所有这些都在*NIX的机器上完成(Linux和OS X),它工作在用户空间,因而不需要sudo命令。安装转载 2016-04-28 10:42:30 · 1020 阅读 · 0 评论 -
timestamp,datetime区别
DATETIME日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。 TIMESTAMP[(M)]时间戳。范围是'1970-01-01 00:00:00'到2037年。TIMES原创 2014-04-21 21:05:52 · 1328 阅读 · 0 评论 -
使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Michael' # 动态给实例绑定一个属性>>> pr原创 2014-05-04 16:18:15 · 977 阅读 · 0 评论 -
python os.walk
如果你在文件遍历中,你在递归写的过程中调试了好久。也弄不出相关的结果,你是否希望找到相关的方案对其有一个解答,以下就是对Python os.walk 遍历目录的介绍,通过此方案你就可以对前文中所说的问题迎刃而解。先看下代码:import os for i in os.walk('c:'+os.sep+'ant'): print i[1] 下面是输出:c:/ant原创 2014-03-21 11:04:11 · 654 阅读 · 0 评论 -
小爬虫——下载给定网页上的图片
# -*- coding: utf-8 -*-import reimport urllibdef getHtml(url): #找出给出网页的源码 page = urllib.urlopen(url) html = page.read() return htmldef getImg(html): #正原创 2013-07-02 13:25:53 · 625 阅读 · 0 评论 -
url解析 urlparse模块
使用urlparse模块可以对url进行分析,最主要的操作就是拆分和合并url的各个部件,那么url有哪些部件呢?下图列出了所有的部件。你可能不太理解,不要着急,我们在例子中看看每个部分都代表着什么。引入urlparse模块,这里只引入了urlparse方法,如果你想要用所有的方法,你需要引入urlparse我们将下面的url地址进行拆解,将拆解的结果存放到parsed原创 2014-01-07 17:21:26 · 5632 阅读 · 0 评论 -
在目录下找出特定格式的文件 python
import os def anyTrue(predicate, sequence): return True in map(predicate, sequence) def filterFiles(folder, exts): for fileName in os.listdir(folder): if os.path.isdi原创 2014-01-13 14:02:15 · 992 阅读 · 0 评论 -
python django 数据库查询
__exact 精确等于 like 'aaa'__iexact 精确等于 忽略大小写 ilike 'aaa'__contains 包含 like '%aaa%'__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains。__gt 大于__gte 大转载 2013-09-03 11:25:37 · 854 阅读 · 0 评论 -
Python Thread用法
Thread对象中的一些方法: 以前说过多线程,用到threading模块中的Thread对象,其中的start和run方法比较熟悉了,start()是重载了Thread对象中的run方法,其实作用还是,当执行这个start方法的时候,将运行run方法。 今天看看其他几个重要的方法: 1 join方法,如果一个线程或者一个函数在执行过程中要调用另外一原创 2014-01-22 13:34:27 · 783 阅读 · 0 评论 -
python多线程编程: 使用互斥锁同步线程
由于每个线程互相独立,相互之间没有任何关系,你干你的,我干我的,互相不干扰。如果要几个线程同时干一件事怎么办,由于互相不走动,如果一个线程已经做过了,另一个线程再去做,不就重复了吗,很容易乱套。现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,然后将num加1。很容易写出这样的代码:运行结果:这个结果肯定不对,红色部分转载 2014-01-22 13:28:08 · 1749 阅读 · 0 评论 -
django 一对一查询
用django 自带ORM映射查询数据时。一对一关系可以互相查对方属性自己定义的Supplier中user跟django.contrib.auth.models中 User是一对一关系class Supplier(models.Model): """ 供货商 """ user = models.OneToOneField(Us原创 2014-01-17 16:30:41 · 3191 阅读 · 0 评论 -
类的特殊用法(二)super
一、问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1:class A: def __init__(self): print "enter A" print "leave A" class B(A): def __init__(self):转载 2014-01-23 10:46:33 · 811 阅读 · 0 评论 -
类的特殊用法(一)定义
类的定义:代码如下:class Account(object): "一个简单的类" account_type="Basic" def __init__(self,name,balance): "初始化一个新的Account实例" self.name=name self.balance=balance def deposit(sel原创 2014-01-22 14:58:46 · 656 阅读 · 0 评论 -
python pipe模块用法
pipe并不是Python内置的库,如果你安装了easy_install,直接可以安装它,否则你需要自己下载它:http://pypi.python.org/pypi/pipe之所以要介绍这个库,是因为它向我们展示了一种很有新意的使用迭代器和生成器的方式:流。pipe将可迭代的数据看成是流,类似于linux,pipe使用'|'传递数据流,并且定义了一系列的“流处理”函数用于接受并处理数据流原创 2014-01-24 16:42:05 · 8989 阅读 · 0 评论 -
http错误码
HTTP1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内原创 2014-02-25 16:24:55 · 659 阅读 · 0 评论 -
python 多线程
一)线程基础1、创建线程:thread模块提供了start_new_thread函数,用以创建线程。start_new_thread函数成功创建后还可以对其进行操作。其函数原型: start_new_thread(function,atgs[,kwargs])其参数含义如下: function: 在线程中执行的函数名 arg转载 2014-02-27 11:45:12 · 671 阅读 · 0 评论 -
忘记tornado异步
@tornado.web.asynchronous@tornado.gen.coroutinedef post(self):result = yield gen.Task(function_name,parma1, parma2)self.write(json.dumps(result))self.finishdef function_name(pa原创 2016-10-11 17:29:06 · 449 阅读 · 0 评论