摘要:今天遇到一个需求,要给图片上增加文字水印的。还要发布出Windows版本。我决定用Python的PIL库完成。程序一写好,我就迫不及待地去执行之。可是报错了。The _imagingft C module is not installed搜索,搜索,终于找到一个结果来,貌似是说PIL的Release版本在编译的时候缺少了一些东西。需要使用者自己编译。我可是在Windows下啊!!!要是在Linux下编译也就编译了。好吧,找个别人编译好的版本吧。找到了这个地方:http://www.lfd.uci.edu/~gohlke/pythonlibs/Pillowis a replacement for
阅读全文
摘要:webpy使用redirect登陆不成功,总跳转回到登陆页面。原因是使用了web.redirect方法,该方法默认是301永久重定向,需要修改为302或使用seeother方法详解如下:# 跳转(seeother)与重定向(redirect)## web.seeother 和 web.redirect### 问题在处理完用户输入后(比方说处理完一个表单),如何跳转到其他页面?### 解法class SomePage:def POST(self):# Do some application logic here, and then:raise web.seeother('/someoth
阅读全文
摘要:1.先拿一段php的soap代码来看:12345678910111213True)); // 参数转为数组形式传递 $aryPara = array('sender' => 'dantezhu', 'receiver' => 'dantezhu', 'title' => 'OZ评论消息提醒', 'msgInfo' => 'sss', 'messageType'=>0); // 调用远程函数 $ret = $client-&
阅读全文
摘要:一些注意事项urlencode使用web.net.urllib.quote(),urldecode使用web.net.urllib.unquote()htmlencode使用web.net.htmlquote() 或web.net.websafe(),htmldecode使用web.net.htmlunquote()quote与unquot参数和返回值都需要str格式的,所以参数都需要'xx'.encode('utf-8'),返回值需要unicode(result,'utf-8')。如:unicode(quote('xx'.enc
阅读全文
摘要:django和webpy都是python的web开发框架。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(Do Not Repeat Yourself)原则。webpy小巧,简单,实用,可以快速的完成简单的web页面。这里根据webpy Cookbook简要的介绍一下webpy框架,更加详细请见http://webpy.org/cookbook/index.zh-cn。一、安装与
阅读全文
摘要:引用PyMongo>>>importpymongo创建连接Connection>>>importpymongo>>>conn=pymongo.Connection('localhost',27017)或import>>>conn=Connection('localhost',27017)创建Connection时,指定host及port参数>>>importpymongo>>>连接数据库>>>或>>>连接聚集>&g
阅读全文
摘要:我们在使用python shell的时候,默认没有开启tab补全功能,有时候忘记了某个函数怎么写,这时候补全功能就能给我们很大的帮助了。如果你使用的是Ipython,那 tab补全默认是开启的,在标准python shell中开启tab补全,只要打开python shell,然后>>>import rlcompleter, readline>>>readline.parse_and_bind('tab: complete')之后,就能在标准python shell中使用tab补全了。为了每次都能开启tab补全,可以自己创建一个PYTHONST
阅读全文
摘要:#1、安装好吧,我承认我只会最简单的安装sudo apt-get install redis-serverpython 支持包: (其实就一个文件,搞过来就能用)sudo apt-get install python-redis#2、配置配置一下吧,默认配置文件在: “/etc/redis/redis.conf”绑定ip:“bind 127.0.0.1″ -> “bind 10.0.1.7″将磁盘同步改为 不同步或每秒同步,一直同步的话太慢了:“appendfsync always” -> “appendfsync no”检查一下后台执行是否打开:“daemonize yes”或者
阅读全文
摘要:工欲善其事,必先利其器。配置好了Django的环境,该把vim好好配置一下当做python的IDE来用。在Windows下用惯了各种现成的工具,转到Linux下,一下没了头绪……好歹google出一些别人的心得,折腾来折腾去,也算是把开发环境配好了。1. 安装完整的vim# apt-get install vim-gnome2. 安装ctags,ctags用于支持taglist,必需!# apt-get install ctags3. 安装taglist#apt-get install vim-scripts#apt-get install vim-addon-manager// 貌似我在安装
阅读全文
摘要:听过the zen of python 吗?尽可能地默写它,中英文皆可,大意也可。如果没有听过,谈谈你对pythonic 的看法,或者你认为什么样的python 代码才是好代码。The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than de
阅读全文
摘要:Python 中的每样东西都是对象,不同与其他面向对象语言的是:第一,Python 中的所有数据值都被封装在相关对象类中。第二,Python 程序中的所有东西都是可以从程序访问的对象,即使是您编写的代码也不例外。Python 不包含像 int 这样的简单类型 —— 只有对象类型。如果 Python 中需要整数值,将整数赋值给相应变量(如 i = 100 )即可。在后台,Python 将创建一个整数对象,并将对新对象的引用赋值给变量。问题的关键是:Python 是一种动态类型化语言,所以无需声明变量类型。事实上在单个程序中,变量的类型是可以改变(多次)的。可以将 PyObject 类之下的所有
阅读全文
摘要:在学习 Python 之前,我们先学几个内置函数,这对于了解 Python 的一些原理是非常有用的。内置函数id()如果我们能获取对象(变量、方法或类型实例)的 "内存地址" 对于我们了解引用机制还是非常不错的。id() 返回一个对象的 "唯一序号",转换成 16 进制就是所谓的内存地址了,为了图方便后面直接使用 id(),不再转换成 16 进制。Code>>>>>>def Foo(): pass >>>>>> Foo >>>>>> hex(id(
阅读全文
摘要:想学Python,又想研究下memcached的客户端,于是拿Python-memcached研究研究~~~1.memcached的安装请参考本博另一文章《Linux下安装memcached》启动一个memcached实例:memcached -m 10 -p 120002.Python-memcached安装到ftp://ftp.tummy.com/pub/python-memcached/下载最新版本的API,并解压tar包输入python setup.py install命令进行安装3.小例子演示将memcached.pyc拷贝到工作目录#!/usr/bin/env python imp
阅读全文
摘要:Inblog.py:import weburls = ( "", "reblog", "/(.*)", "blog")class reblog: def GET(self): raise web.seeother('/')class blog: def GET(self, path): return "blog " + pathapp_blog = web.application(urls, locals())In your maincode.py:import webimpor
阅读全文
摘要:无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了。【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1 #Filename:001.py2 cnt = 0#count the sum of result3 for i in range(1,5):4 for j in range(1,5):5 for k in range(1,5):6 if i!=j and i!=k and j!=k:7 print i*100+j*10+k【程序2】...
阅读全文
摘要:类和继承classBase:def__init__(self):self.data=[]defadd(self,x):self.data.append(x)defaddtwice(self,x):self.add(x)self.add(x)#ChildextendsBaseclassChild(Base):defplus(self,a,b):returna+boChild=Child()oChild.add("str1")print(oChild.data)print(oChild.plus(2,3))'''知识点:*self:类似Java的this
阅读全文
摘要:在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。时间戳(t
阅读全文
摘要:问题:Python的函数定义中有两种特殊的情况,即出现*,**的形式。如:def myfun1(username, *keys)或def myfun2(username, **keys)等。解释:* 用来传递任意个无名字参数,这些参数会一个Tuple的形式访问。**用来处理传递任意个有名字的参数,这些参数用dict来访问。*应用:########################## “*” 的应用#########################>>> def fun1(*keys):...print "keys type=%s" % type(keys)
阅读全文
摘要:昨天花了一整天的时间研究搭建了nginx+python+fastcgi环境,并测试没问题,由于是第一次,并且参考了网上很多东西,网上也有很多,但还是把自己的过程记录下。 主要感谢这位兄弟的文章给了我很大的帮忙http://blog.csdn.net/linvo/article/details/5870498,不过这位兄弟的测试代码我没跑成功。 一、环境配置主要分以下几步: 1、Linux环境和python环境(此步骤省略) 2、Nginx环境、flup、spawn-fcgi工具的部署如下[plain]view plaincopywgethttp://nginx.org/d...
阅读全文
摘要:1.首先当然是下载Python 了,推荐安装 ActivePython 这里我用的是3.0版本 安装后才了解Google App Engree目前服务器运行的是2.5版本 这里下载: Windows x86 版本 Windows x86 Linux x86 Linux x86_64 Mac OS X (Universal) Solaris 8 SPARC Solaris 8 SPARC (64-bit) Solaris 10 x86 AIX PowerPC HP-UX PA-RISC 2.安装 ActivePython 就不用说了。一路Next >> 3.IIS7 的...
阅读全文