自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 忘记tornado异步

@[email protected] 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 408

转载 Pyenv教程

初识pyenv: 它是一个简单的Python版本管理工具。前身为Pythonbrew,pyenv允许你改变全局的python版本,安装多种不同的python版本,设置应用指定的python版本以及创建/管理虚拟的python环境(”virtualenv’s”)。所有这些都在*NIX的机器上完成(Linux和OS X),它工作在用户空间,因而不需要sudo命令。安装

2016-04-28 10:42:30 882

转载 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 10440 2

转载 八大排序算法的 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 489

转载 Python任务调度模块 – APScheduler

APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务、并以daemon方式运行应用。目前最新版本为3.0.x。在APScheduler中有四个组件:触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行。除了他们自己初始配置意外,触发器完全是无状态的。

2016-03-17 12:21:32 1659

转载 Redis 双主实现

redis双主设计背景目前redis仅支持主从复制模式,可以支持在线备份、读写分离等功能,实际应用中通常通过sentinel服务做主从切换的管理,这增加了管理的复杂度和维护成本,基于此360基础架构组联合DBA从redis内部实现了双主功能。主从复制介绍redis支持树形的主从异步复制,并具有非阻塞、部分同步等特性,下面简单介绍下其实现原理以及目前redis主从复制

2015-10-16 14:12:54 8527 1

转载 MySQL索引原理与慢查询优化

索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的,如果我想找到m开头的单词呢?或者w开头的单词呢?是不是觉得如果没有索引,这个事情根本无法完成?索引原理除了词典,生活中随处可见索引的例子,如火车站的车次表、图书的

2015-10-15 11:34:34 415

转载 扩展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 451

转载 django 设置 数据库缓存

最近博客增加了许多新功能,访问速度有所下降,故启用了django的数据库全站缓存。Django 官方缓存系统介绍:https://docs.djangoproject.com/en/1.8/topics/cache/#database-caching配置cache方式及内部实现机制:    django中cache大体分为三种,即针对全站的缓存配置、针对视图的缓存配置、

2015-07-30 11:32:45 2807

转载 virtualenv

virtualenvvirtualenv用于创建独立的Python环境,多个Python相互独立,互不影响,它能够:1. 在没有权限的情况下安装新套件2. 不同应用可以使用不同的套件版本3. 套件升级不影响其他应用安装sudo apt-get install python-virtualenv使用方法virtualenv [虚拟环境名称] 如

2015-07-08 19:15:52 419

转载 浅谈 Python 的 with 语句

浅谈 Python 的 with 语句with 语句是在 Python 2.5 版本引入的,从 2.6 版本开始成为缺省的功能。with 语句作为 try/finally 编码范式的一种替代,用于对资源访问进行控制的场合。本章对 with 语句进行介绍,包括 with 语句的基本语法和工作原理,自定义支持 with 语句的类,以及使用 contextlib 工具加入对 with

2015-03-11 18:15:27 693

原创 Python数据结构——collections

Python包括很多标准编程数据结构,如list,tuple,dict,set,这些属于内置类型collections模块包含多种数据结构的实现,扩展了其他模块中相应的结构。Counter是一个容器,可以跟踪相同的值增加了多少次。这个类可以用来实现其他语言常用包或多集合数据结构来实现的算法。Deque是一个双端队列,允许从任意一端增加或删除元素。defaultd

2014-12-10 16:24:38 765

原创 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 761

原创 Python开发容易忽略的问题

这篇文章主要介绍了Python程序员代码编写时应该避免的17个“坑”,也可以说成Python程序员代码编写时应该避免的17个问题,需要的朋友可以参考下一、不要使用可变对象作为函数默认值复制代码代码如下:In [1]: def append_to_list(value, def_list=[]):   ...:         def_list.append(va

2014-06-23 15:57:27 1063

原创 使用__slots__

正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Michael' # 动态给实例绑定一个属性>>> pr

2014-05-04 16:18:15 932

原创 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 1244

原创 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 626

转载 python 多线程

一)线程基础1、创建线程:thread模块提供了start_new_thread函数,用以创建线程。start_new_thread函数成功创建后还可以对其进行操作。其函数原型:    start_new_thread(function,atgs[,kwargs])其参数含义如下:    function: 在线程中执行的函数名    arg

2014-02-27 11:45:12 637

原创 http错误码

HTTP1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内

2014-02-25 16:24:55 611

转载 开发者必备的 12 个 JavaScript 库

现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计。为了方便大家发挥自己的创意,就产生了很多 JS 框架,Node.js 扩展等等。有了这些工具,开发者们就能专注于创意设计了,而不用为某个功能而花费太多精力。这里我们介绍的是 12 个开发者们必备的 JavaScript 库,都是一些很基础功能很强大的库。有了这些库

2014-02-12 16:59:08 623

转载 安装完 MySQL 后必须调整的 10 项配置

写在开始前…即使是经验老道的人也会犯错,会引起很多麻烦。所以在盲目的运用这些推荐之前,请记住下面的内容:一次只改变一个设置!这是测试改变是否有益的唯一方法。大多数配置能在运行时使用SET GLOBAL改变。这是非常便捷的方法它能使你在出问题后快速撤销变更。但是,要永久生效你需要在配置文件里做出改动。一个变更即使重启了MySQL也没起作用?请确定你使用

2014-02-12 14:41:42 465

原创 python pipe模块用法

pipe并不是Python内置的库,如果你安装了easy_install,直接可以安装它,否则你需要自己下载它:http://pypi.python.org/pypi/pipe之所以要介绍这个库,是因为它向我们展示了一种很有新意的使用迭代器和生成器的方式:流。pipe将可迭代的数据看成是流,类似于linux,pipe使用'|'传递数据流,并且定义了一系列的“流处理”函数用于接受并处理数据流

2014-01-24 16:42:05 8830

原创 python yield用法

初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能。您可能听说过,带有 yield 的函数在 Python 中被称之为

2014-01-24 15:32:52 794

原创 Django 数据库事务

其实事务处理已经在 django 中提供了,但是很奇怪好象没有过多的“笔墨”来说明这个事。今天看了看,真是非常简单。具体的在 django 所带的 transaction 文档中。 django对于事务的支持分几个层次。 1. 什么都不管的话,它是使用 autocommit 方式。也就是在执行了 save() 或 delete() 之后就自动提交了。 2. 通过

2014-01-23 17:26:14 747

转载 类的特殊用法(二)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 763

原创 类的特殊用法(一)定义

类的定义:代码如下: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 620

原创 Python Thread用法

Thread对象中的一些方法:    以前说过多线程,用到threading模块中的Thread对象,其中的start和run方法比较熟悉了,start()是重载了Thread对象中的run方法,其实作用还是,当执行这个start方法的时候,将运行run方法。    今天看看其他几个重要的方法:   1 join方法,如果一个线程或者一个函数在执行过程中要调用另外一

2014-01-22 13:34:27 743

转载 python多线程编程: 使用互斥锁同步线程

由于每个线程互相独立,相互之间没有任何关系,你干你的,我干我的,互相不干扰。如果要几个线程同时干一件事怎么办,由于互相不走动,如果一个线程已经做过了,另一个线程再去做,不就重复了吗,很容易乱套。现在假设这样一个例子:有一个全局的计数num,每个线程获取这个全局的计数,然后将num加1。很容易写出这样的代码:运行结果:这个结果肯定不对,红色部分

2014-01-22 13:28:08 1689

原创 django 一对一查询

用django 自带ORM映射查询数据时。一对一关系可以互相查对方属性自己定义的Supplier中user跟django.contrib.auth.models中 User是一对一关系class Supplier(models.Model):    """            供货商    """    user = models.OneToOneField(Us

2014-01-17 16:30:41 3143

原创 在目录下找出特定格式的文件 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 957

原创 页面嵌入优酷播放器

项目中需要播放优酷视频,数据库中存的是视频的优酷播放地址,js如下jQuery(document).ready(function(){                        player = new YKU.Player('youkuplayer',{        client_id: 'd5aad9cba76f0a1c',        vid:

2014-01-07 17:33:42 4027

原创 url解析 urlparse模块

使用urlparse模块可以对url进行分析,最主要的操作就是拆分和合并url的各个部件,那么url有哪些部件呢?下图列出了所有的部件。你可能不太理解,不要着急,我们在例子中看看每个部分都代表着什么。引入urlparse模块,这里只引入了urlparse方法,如果你想要用所有的方法,你需要引入urlparse我们将下面的url地址进行拆解,将拆解的结果存放到parsed

2014-01-07 17:21:26 5554

转载 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 825

转载 Django学习笔记—获取正确的客户端IP地址

原文地址: http://newliu.com/post/12/在使用了comments库为网站添加评论系统后,我发现一个奇怪的现象:在admin后台看到的评论者IP地址居然全部都是127.0.0.1,这明显不是真正的客户端IP地址。我去查看了一下comments的源代码,获取客户IP地址的一句代码在Python27\Lib\site-packages\django\c

2013-08-09 11:57:55 2346

原创 小爬虫——下载给定网页上的图片

# -*- 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 598

原创 用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 783

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除