
Python
liukeforever
一个十年的程序员
展开
-
sublime2 安装配置
sublime所安装的package1.delphi style bookmarks2.inputhelper3.jedi - python autocompletion4.python pep8 autoformat5.sublimelint6.theme-sodainstall package controlimport urllib2,os; pf='原创 2013-11-12 17:24:05 · 1945 阅读 · 0 评论 -
tornado http proxy 二級代理
tornado http proxy 二級代理注意事項1、二級代理remote_stream不是連接的remote_host而是PROXY_HOST2、http的代理驗証需要在header裡增加 Proxy-authorization: Basic bGs6MjAwMg== , 用戶、密碼是用base64編碼的本文是在https://gist.github.com/1241783/80原创 2011-11-18 08:45:25 · 3917 阅读 · 0 评论 -
tornado chat server
為了加深對tornado的理解,寫了一個tornado chat server, 基於tornado tcpserver, server的主要作是接收client發送的msg,並把所接收到的msg broadcast到所有的client#!/usr/bin/env pythonfrom tornado.netutil import TCPServerfrom tornado.io原创 2011-10-28 17:48:33 · 2535 阅读 · 2 评论 -
redis 资料
http://blog.163.com/kylandzwr_39/blog/static/180285039201132043158533/http://blog.nosqlfan.com/html/3202.htmlhttp://blog.nosqlfan.com/html/3033.htmlhttp://blog.nosqlfan.com/html/3139.html原创 2011-10-27 21:52:59 · 577 阅读 · 0 评论 -
Echo Server Using Tornado
這幾天在看Tornado的source code,有一些體會,自己動手寫了一個基於tornado tcpserver的echoserver#!/usr/bin/env pythonfrom tornado.netutil import TCPServerfrom tornado.ioloop import IOLoopclass ECHOConnection(obje原创 2011-10-26 15:03:34 · 878 阅读 · 0 评论 -
Redis资料汇总
轉自 http://blog.youkuaiyun.com/linvo/article/details/6648260锋利的Redis:http://lgone.com/html/y2010/732.htmlRedis作者谈Redis应用场景:http://blog.nosqlfan.com/html/2235.htmlRedis系列阅读资料:http://blog.nosqlfa转载 2011-10-26 17:40:19 · 861 阅读 · 1 评论 -
eclipse pydev source code 查看技巧
eclipse + pydev查看python source code 比較方便,(komodo也不錯但eclipse 的提供了個outline窗口這個較好),但是在eclipse裡如果有用第三方的庫好像直接按ctrl+click打不開,需要增加搜索path原创 2011-10-25 16:48:07 · 2539 阅读 · 0 评论 -
Tornado源码分析
http://kenby.iteye.com/blog/1159621http://www.4pang.com/2010/10/07/tornado-%E7%9A%84%E5%BC%82%E6%AD%A5socket%E6%A8%A1%E5%9E%8B%E5%88%86%E6%9E%90.htmlhttp://www.cnblogs.com/yiwenshengmei/archive/20原创 2011-10-25 17:31:05 · 1395 阅读 · 0 评论 -
python enumerate
#!/usr/bin/env python# -*- encoding:utf-8 -*-#enumeratec = ['a', 'b', 'c', 'd']for (index, item) in enumerate(c): print index, itemname = ['lk', 'sun', 'maidou']city = ['qd', 'qs'原创 2011-10-12 17:00:01 · 1147 阅读 · 1 评论 -
python __call__ (可调用对象)
__call__Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。例如,现在我们要计算重力环境下的自然落体位移。我们知道Sy=(gt**2)/2,那么,我们可以建立一个函数:def g_dpm(t):return (9.8*t**2)/2我转载 2011-10-19 22:23:19 · 1260 阅读 · 2 评论 -
Pthon WSGI心得
python web眾多有django、web.py、Tornado 、Pylons...這麼多的框架學哪一個呢?我想與其隻了解一些眾多框架表面的使用技巧還不如深入了解某一框架的核心, 所以就從最簡單的web.py開始吧,看了一下web.py源代碼,發現要深入了解web.py還得從WSGI開始所以花了幾天的的時間深入了解了一下WSGIWSGI是什麼WSGI(Web原创 2011-10-20 23:05:14 · 15978 阅读 · 0 评论 -
python select實現非阻塞socket
#!/usr/bin/env python# -*- encoding: utf-8 -*-import socketimport selecthost = "" port = 50000 s = socket.socket(socket.AF_INET,sock原创 2011-10-19 11:08:30 · 5020 阅读 · 4 评论 -
切片(Slice)
>>> str = '0123456789'>>> str[0::2]'02468'從0開始步長為2>>> str[1::2]'13579'從1開始步長為2>>> str[::-1]'9876543210'從-1於始步長為1,反轉序列原创 2011-09-27 13:48:46 · 443 阅读 · 0 评论 -
kdict
kdict(A Dict For Kids) kdict(A Dict For Kids) 給四歲的兒子的做的一個字典軟件 因為是是給小孩子用,所以希望能圖文並茂,而且有讀音 字典部分: 1、金山詞霸 api http://dict-co.iciba原创 2011-09-22 17:42:15 · 572 阅读 · 0 评论 -
一道python題
有两个序列a,b,大小都为n,序列元素的值任意整形数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。思路c = a +bhalf_c = sum(c)/2.0窮舉c裡取len(a)的所有組合,再求合,再跟h原创 2011-09-29 14:21:42 · 586 阅读 · 0 评论 -
python clipboard 块移动
这一直没发现在linux下好用的块移动的编辑器因为你可能在网上copy下来的代码是这样的需要把整个代码向前移4个字符自己写了这样一个程式来实现这个功能>>> from sqlalchemy import Column, Integer, String>>> class User(Base):... __tablename__ = 'users'......原创 2011-11-20 22:32:36 · 1409 阅读 · 0 评论 -
gevent sqlalchemy async access mysql
1.安装mysql-connector2.db = create_engine('mysql+mysqlconnector://root:liukesun@localhost/testdb')gevent_sqlalchemy_test.py#!/usr/bin/pythonimport geventfrom gevent import monkey # pat原创 2011-11-25 22:53:27 · 3025 阅读 · 1 评论 -
Autoreload of modules in IPython
ipython很好用,但是如果在ipython里已经import过的模块修改后需要重新reload就需要这样In [1]: %load_ext autoreloadIn [2]: %autoreload 2In [3]: from foo import some_functionIn [4]: some_function()Out[4]: 42In [5]: # open f原创 2013-05-28 22:48:33 · 2220 阅读 · 0 评论 -
python格式化dict输出
python格式化dict输出如果dict里有unicode or utf-8编码的字符串,缺省是:In [75]: dd = { 'name': u'功夫熊猫' }In [76]: ddOut[76]: {'name': u'\u529f\u592b\u718a\u732b'}In [77]: dd2 = { 'name': '功夫熊猫' }In [78]: dd2原创 2013-05-27 22:59:17 · 17417 阅读 · 0 评论 -
tornado thread 任务处理模式
import functoolsimport timeimport threadingimport loggingimport Queue#import hunspellimport tornado.webimport tornado.websocketimport tornado.localeimport tornado.ioloopfrom tornado.options原创 2013-03-07 11:53:59 · 2925 阅读 · 0 评论 -
nginx跟据url进行分流
需求让Nginx跟据请求的url不同,而转发到不同的server上举例:url http://127.0.0.1/json/0769/url http://127.0.0.1/json/0734/需求把url后缀为0769的请求转发到server1, url 后缀为0734的请求转发到server1nginx.conf实现代码worker_processes 2;#原创 2012-12-11 14:54:46 · 17170 阅读 · 0 评论 -
Django Model Object Serialize By SpitEat
django model object 最简单的方法s = NagiosHoststatus.objects.all()[0]print s.__dict__但是这个方法有一个缺点, 外键所关联的对象并不会被Serialize, class Model1(models.Model): name=models.CharField() ch原创 2012-11-12 14:55:31 · 1071 阅读 · 0 评论 -
python MMSEG 分词 实现
实现参见http://blog.youkuaiyun.com/acceptedxukai/article/details/7390300修改了其中的几个问题1.取 自由语素度最大的chunk这个是要取chunk中单个字的词频取对数后的和),而不是直接把sum chunk中每词的词频和2. 确定唯一的chunk后应该取这个剩下的chunk的第一个词为分出的第一个词然后对除去第一个词的剩下部分原创 2012-10-11 09:27:00 · 2126 阅读 · 0 评论 -
Python sorting list of dictionaries by multiple keys
如何list里对dict类型的数据按 多字段排序,不限制数据类型 数字、str、date类型都可以def multikeysort(items, columns): from operator import itemgetter comparers = [ ((itemgetter(col[1:].strip()), -1) if col.startswith('-') e原创 2012-09-29 11:39:13 · 915 阅读 · 0 评论 -
ZeroMQ timeout a REQ/REP connection
import sysimport zmq# None of these operations will block, regardless of peer:context = zmq.Context()socket = context.socket(zmq.REQ)socket.setsockopt(zmq.LINGER, 0)socket.connect("tcp:/原创 2011-12-28 14:43:27 · 4089 阅读 · 0 评论 -
Python Oracle 的幾篇文章
Using Python With Oracle Database 11gBest practices with Python and OracleAbout Database Resident Connection Poolinghttp://www.cnbeta.com/articles/168627.htm原创 2012-01-05 15:51:41 · 829 阅读 · 5 评论 -
python zeromq rpc介紹
https://github.com/geoffwatts/zmqrpc傳輸資料格式:bson模型: 多線程Client Server ------ ------------------------------ client worker(thread)原创 2011-12-27 08:35:44 · 3743 阅读 · 0 评论 -
sqlalchemy Connection Pool
sqlalchemy 默認的pool_size=5pool裡存放的是在跟數據庫的的閒置連接,使用c1 = engine.connect() 或session = scoped_session(sessionmaker(bind=engine))會創建連接, 創建連接的步驟1、看pool裡是否有連接,如果有取出該連接返回2、pool沒有空閉的連接則建立一個新接的連接隻有當原创 2011-12-05 14:56:01 · 5338 阅读 · 1 评论 -
python socket get http
需要注意http1.1和http1.0的區別http1.1要加上Host才可以, http1.0則不用#!/usr/bin/env pythonimport socketsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.connect(('172.17.9.9', 80))#sock.send('GET /原创 2011-11-29 09:59:53 · 2616 阅读 · 1 评论 -
Python单例模式
看了很多IOLoop的代码, 有一个地方相信大家注意到了, 得到IOLoop对象的时候, 都是通过instance()返回的. 事实上,IOLoop使用了单例模式. 在Tornado运行的整个过程中, 只有一个IOLoop实例. 仅需一个 IOLoop实例, 就可以处理全部的IO事件. 以前学习J2EE的时候接触过Java的单例模式, 接下来看看Python是如何实现单例模式的.转载 2011-10-25 15:11:04 · 2430 阅读 · 0 评论 -
ubuntu install cx_Oracle
1. install ubuntu oracle client2. add environmentgedit /etc/environment appendexport ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/clientexport LD_LIBRARY_PATH=/usr/lib/oracle/x原创 2011-11-25 19:56:42 · 1296 阅读 · 0 评论 -
kdict(A Dict For Kids)
kdict --a dict for kid給四歲的兒子的做的一個字典軟件因為是是給小孩子用,所以希望能圖文並茂,而且有讀音字典部分:1、金山詞霸 apihttp://dict-co.iciba.com/api/dictionary.php?w=apple原创 2011-09-28 15:23:55 · 979 阅读 · 0 评论 -
python pdf 合並
# -*- coding: utf-8 -*-#!/usr/bin/env pythonimport sysimport osfrom pyPdf import PdfFileWriter, PdfFileReader# 这里简化了,可以使用walk,搜索出某目录转载 2011-07-28 17:39:05 · 1453 阅读 · 0 评论 -
python圖片轉換成pdf
#!/usr/bin/env pythonimport osimport globfrom reportlab.lib.pagesizes import letter, A4, landscapefrom reportlab.platypus import S原创 2011-09-27 15:49:09 · 1516 阅读 · 0 评论 -
Python中的SET集合操作
<br />python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.<br />sets 支持 x in set, len(set), 和 for x in set。作为一个无序的集合,sets 不记录元素位置或者插入点。因此,sets 不支持 indexing, slic转载 2011-05-12 10:00:00 · 650 阅读 · 0 评论 -
cx_Oracle 中插入blob、date類型資料
<br />#blob<br />import cx_Oracle<br /><br />db = cx_Oracle.connect('delphitest/delphitestpass@yyora85')<br />cursor = db.cursor()<br />f1 = open(r'd:/img.jpg','rb')<br />data = f1.read()<br />pic_data = cx_Oracle.Binary(data)<br />cursor.execu原创 2011-03-09 14:19:00 · 3427 阅读 · 0 评论 -
利用Python获取系统当前时间
<br />取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。<br /><br />你可以试下下面的方式来取得当前时间的时间戳:<br />import time<br />print time.time()<br />输出的结果是:<br />1279578704.6725271<br /><br />但是这样转载 2011-03-09 11:14:00 · 909 阅读 · 0 评论 -
oracle nchar cx_Oracle
NLS_CHARACTERSET = ZHT16MSWIN950NLS_NCHAR_CHARACTERSET = AL16UTF16select, insert uchar 欄位要使用N'犇'select to_nchar(fac_uname) from factest where fac_uname = N'刘科'"insert into factest values('115', '111', N'犇')9i使用N'犇'有問題,10g以上則沒有問題python中cx_Oracle安裝非unicode版本原创 2011-03-08 14:49:00 · 1056 阅读 · 0 评论 -
cx_Oracle使用方法
正确安装好cx_oracle之后,要使用它来连接到oracle数据库进行操作,具体应该分3步走:第一步:导入cx_Oracle,建立连接>>> import cx_Oracle #导入模块<br />>>> db = cx_Oracle.connect('hr', 'hrpwd', 'localhost:1521/XE') 建立连接,3个参数分开写>>> db1 = cx_Oracle.connect('hr/hrpwd@localhost:1521/XE') 建立连接,3个参数连写>>>转载 2011-03-03 13:25:00 · 28700 阅读 · 0 评论 -
cx_Oracle的安裝及問題說明
1、下裝cx_Oracle的安裝程式 http://cx-oracle.sourceforge.net/2、要下載instantclient-basic-win32-10.2.0.5.zip 注意有兩個版本,一相版本的體積比較小,但在隻支持en 所以要下instantclient-basic-win32-10.2.0.5.zip這個3、instantclient-basic-win32-10.2.0.5.zip解壓出來的文件(oci.dll)copy到python安裝目錄D:/Program Fil原创 2011-03-03 11:11:00 · 4013 阅读 · 0 评论