摘要:如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?JavatimeJavaScriptMath.round(new Date().getTime()/1000)getTime()返回数值的单位是毫秒Microsoft .NET / C#epoch = (DateTime....
阅读全文
摘要:首先说下,由于最新的 0.8 版还是开发版本,因此我使用的是 0.79 版,API 也许会有些不同。因为我是搭配 MySQL InnoDB 使用,所以使用其他数据库的也不能完全照搬本文。接着就从安装开始介绍吧,以 Debian/Ubuntu 为例(请确保有管理员权限):1.MySQL复制代码代码如下...
阅读全文
摘要:为解决python连接sql server是出现的乱码,需要在连接sql server 时指定字符集utf8(client charset = UTF-8),python环境制定了字符集变量(#coding=utf-8 )vi /etc/freetds/freetds.conf[global]# T...
阅读全文
摘要:因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-wsgi,效果还不错。但还是想试试别的,比如传说中超级猛的meinheld什么的。软硬件环境硬件:一台04年初购置的IBM X235服务器,CPU为Xeon 2.4G两颗,内存1G,100M网卡。软件:Ubu...
阅读全文
摘要:首先说下,由于最新的 0.8 版还是开发版本,因此我使用的是 0.79 版,API 也许会有些不同。因为我是搭配 MySQL InnoDB 使用,所以使用其他数据库的也不能完全照搬本文。接着就从安装开始介绍吧,以 Debian/Ubuntu 为例(请确保有管理员权限):MySQLapt-get in...
阅读全文
摘要:Python编程规范及性能优化Ptyhon编程规范编码所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- 。设置编辑器,默认保存为 utf-8 格式。注释业界普遍认同 Python 的注释分为两种的概念,一种是由 # 开头的“真正的”注释,另一种是 docs...
阅读全文
摘要:关于框架选择的误区在框架的选择问题上,许多人很容易就陷入了下面两个误区中而不自知:1. 哪个框架最好——世上没有最好的框架,只有最适合你自己、最适合你的团队的框架。编程语言选择也是一个道理,你的团队Python最熟就用Python好了,如果最熟悉的是Ruby那就用Ruby好了,编程语言、框架都只是工...
阅读全文
摘要:系统环境:MAC OSX 10.9.2Python版本:2.7.5新入手的RMBP,自带了Python环境,但是将其投入到生产环境时,出现了种种问题,首先最最致命的,就是安装模块出现问题,导致一直无法正常开发,下面是本人在安装Python模块的时候,所出现并解决的,总结如下,希望对后来者有帮助(拿M...
阅读全文
摘要:第一部分阅读Zen of Python,在Python解析器中输入import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. "它肯定很慢!"毫无疑问:Python程序没有编译型语言高效快速. 甚至Python拥护者们会告诉你Python不适合这些领域. 然而,YouTube已用Python服务于每小时4千万视频的请求. 你所要做的就是编写高效的代码和需要时使用外部实现(C/C++)代码. 这里有一些建议,可以帮助你成为一个更好的Python开发者:1.使用内建函数: 你可以用Python写出高
阅读全文
摘要:pyExcelerator写道pyExcelerator is a library for generating Excel 97/2000/XP/2003 and OpenOffice Calc compatible spreadsheets. pyExcelerator has full-blown support for UNICODE in Excel and Calc spreadsheets, allows using variety of formatting features, provides interface to printing options of Excel an
阅读全文
摘要:gevent是Python的一个用于网络IO的函数库,其中应用到了 coroutine(协同程序) 的思想。首先来了解下目前网络框架的几种基本的网络I/O模型:阻塞式单线程:这是最基本的I/O模型,只有在处理完一个请求之后才会处理下一个请求。它的缺点是效能差,如果有请求阻塞住,会让服务无法继续接受请求。但是这种模型编写代码相对简单,在应对访问量不大的情况时是非常适合的。阻塞式多线程:针对于单线程接受请求量有限的缺点,一个很自然的想法就是给每一个请求开一个线程去处理。这样做的好处是能够接受更多的请求,缺点是在线程产生到一定数量之后,进程之间需要大量进行切换上下文的操作,会占用CPU大量的时间,不
阅读全文
摘要:对于python仅作为客户端调用webservice的情况,推荐使用suds库来完成,比起zsi,soapy之类,它可以说是相当轻量级,使用非常方便。 安装suds建议使用easy_insall来做。下面是官方的一些例子:Python代码fromsuds.clientimportClienturl='http://localhost:7080/webservices/WebServiceTestBean?wsdl'client=Client(url)#查看该service提供的方法printclientSuds-version:0.3.3build:(beta)R397-200
阅读全文
摘要:使用pydev-debugger调试python程序时,发生以下错误:Traceback (most recent call last):File "C:\Google\eclipse\plugins\org.python.pydev_2.6.0.2012062121\pysrc\pydevd.py", line 4, in from pydevd_comm import CMD_CHANGE_VARIABLE, \File "C:\Google\eclipse\plugins\org.python.pydev_2.6.0.2012062121\pysrc\pyd
阅读全文
摘要:gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单gevent的docs:http://www.gevent.org/contents.html一个最简单的例子:import geventimport gevent.monkeygevent.monkey.patch_all()def foo(i, a, b, c): print('Running in foo' + str(i) + ' ' + str(a) + str(b) + str(c)) gevent.sleep(0) print('Explicit context
阅读全文
摘要:需求:写个项目,用到数据库,多个地方使用,不能硬编码。很类似java的properties文件Python支持ini文件的读取涉及模块:ConfigParserxml文件db_config.inidb_config.ini [baseconf] host=127.0.0.1 port=3306 user=root password=root db_name=evaluting_sys [concurrent] processor=20 对应的python代码#!/usr/bin/python # -*- coding:utf-8 -*- #author: ling...
阅读全文
摘要:Python中的对象包含三要素:id、type、value其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值is判断的是a对象是否就是b对象,是通过id来判断的==判断的是a对象的值是否和b对象的值相等,是通过value来判断的如下代码或许可以帮助你理解。>>> a = 1>>> b = 1.0>>> a is bFalse>>> a == bTrue>>> id(a)12777000>>> id(b)14986000>>> a = 1>&
阅读全文
摘要:但是对于普通的阻塞操作——比如MySql查询,甚至是简单的一句time.sleep--怎么让其不阻塞呢?回答这个问题首先要了解Tornado异步的原理。Tornado异步的核心是ioloop.py和iostream.py这两个文件。ioloop.py实现了一个处理I/O事件的循环,iostream封装了非阻塞的socket并把I/O事件注册到ioloop上。Tornado的异步在linux平台基于epoll,它是基于事件而非轮询的,这是其高效的原因(windows平台没有epoll,tornado只能使用select,效率比epoll低)。ps:tornado异步的原理我觉得没有完全理解,但简
阅读全文
摘要:前言:Xapian是一款开源的C++信息检索系统,提供了非常强大的功能。国人喜欢跟风,收到某宴的影响,国人一直推崇Sphinx:与MySQL深度集成,开箱即用,非常傻瓜。但是它定制起来非常的麻烦,就连最基础的中文分词都要改好多地方才能实现。与市面上其他的信息检索相比,Xapian类似于Lucene,提供丰富、可拓展的编程接口,让Xapian能够更好的融入你的系统中。同时,他的检索性能又远远高于Lucene,并采用BM-25模型,具有更好的检索效果。至于大家最关心的中文问题,我可以负责任的说:虽然Xapian无内置的中文分词算法,但是核心与分词部分毫无耦合,只要借助外置分词器,即可无需改动任何X
阅读全文
摘要:背景我用apache的ab test在公司的两台虚拟机上面测试,发现用pymongo的速度最快,asyncmongo其次,最后才是motor库.囧機器配置server端ubuntu 12.04Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz內存 500M基本的server配置全部打開 ˜(比如maxsoconn设到很大)client端freebsd(机子在公司,暂时空缺=.=)測試工具ab test测试用例我这里只贴了asyncmongo的用例,其他两个的代码结构类似,但跟其他业务结合得比较紧,所以就不贴了.大概的用例描述:客户端发起一个json格式的pos
阅读全文
摘要:pygame.mixer是一个用来处理声音的模块,其含义为“混音器”。游戏中对声音的处理一般包括制造声音和播放声音两部分,这里仅学习了播放声音部分。1、pygame.mixer启动与初始化pygame.mixer.init():mixer的初始化。程序中,使用时,一般放在最前面的几句代码中:import pygamepygame.init()pygame.mixer.init()2、播放声音片段wav文件播放声音片段wav文件时,pygame.mixer使用Sound对象,格式为:soundwav=pygame.mixer.Sound("filename.wav") #fi
阅读全文