webpy搭配wsgi使用session的问题

项目使用webpy作为python的web框架,同时借助于mod_wsgi搭建在apache服务器之上。 随着项目的不断推进,用户相关的需求被引入,自然就用到了session。 在webpy官方也给出了session及用户认证相关的例子,可以参考: http://webpy.org/cookbook/sessions http://webpy.org/cookbook/userauthpgsql 在结合自身项目时,遇到了点小问题,总是报这样的错误: AttributeError: ‘function’ object has no attribute ‘add … “webpy搭配wsgi使用session的问题”

Read More

python字符串截取子串

在python中没有类似sub()或者subString()的方法,但是字符串的截取操作却是更加简单。 只需要把字符串看作是一个字符数组,截取子串非常方便。 多余的话就不啰嗦了,看下面的例子就明白了。 str = ‘0123456789’ print str[0:3] #截取第一位到第三位的字符 print str[:] #截取字符串的全部字符 print str[6:] #截取第七个字符到结尾 print str[:-3] #截取从头开始到倒数第三个字符之前 print str[2] #截取第三个字符 print str[-1] #截取倒数第一个字符 print st … “python字符串截取子串”

Read More

python安装模块报错缺少ez_setup

在windows环境下使用python安装模块时,遇到这样的错误,说是缺少ez_setup。 这个问题是在安装pygeoip时遇到的,pygeoip是一个用纯python实现(不依赖c库)的查询ip对应国家、城市等等的模块,项目地址: http://code.google.com/p/pygeoip/ 具体的错误消息如下: ImportError: No module named ez_setup 而安装是手动下载了模块,然后使用python setup.py install安装的,并没有直接使用easy_install pygeoip,不过遗憾的是安装脚本里却使用了:-( 在Windows平 … “python安装模块报错缺少ez_setup”

Read More

python使用logging模块之二

之前写过一篇如何在python中启用日志logging模块的文章,当时是使用外部配置文件的形式来设置logging相关参数的。 由于开发环境是在win7下,潜在的文件权限问题没有及时的暴露出来。在项目部署到服务器的linux环境中时,出现了许多始料未及的问题,而最主要的也就是文件系统的差异带来的问题。 记得在配置文件中,日志输出到文件只需要设置日志文件名就可以了,当然可以带有路径,只是需要绝对路径。至于相对路径,在python环境下自然是脚本所在的路径了,但是跑在apache容器中的时候,就不是脚本文件的路径了,而是apache安装的路径。 所以当时只设定了文件名,而这个日志文件是写在了apa … “python使用logging模块之二”

Read More

python遍历文件字符编码

使用python写了一个列出某目录下所有文件的文件名、创建时间、修改时间和访问时间的脚本,运行时报错: SyntaxError: Non-ASCII character ‘\xe5’ in file 原来python默认情况下文件是用ASCII编码的,需要在文件开头加以声明 #coding=utf-8 或者这样也可以 # -*- coding: UTF-8 -*- 运行脚本不再报错。 顺便把遍历文件的代码也贴下,方便以后自己查阅:

Read More

python读写文件

在python中读写文件很简单。 例如使用open(‘cache.txt’)打开一个缓存文件,此时文件是只读模式打开的,等同于使用open(‘cache.txt’, ‘r’)。 如果需要打开的文件不存在,就会遇到异常。因此,在程序中需要进行一些简单的处理。 可以定义一个方法来安全的打开文件:

对应的写文件操作,也可以这样处理:

Read More

python使用webpy文件路径错误

按照webpy官方给的样例代码进行修改时发现在code.py中引入自定义模块时出现错误: ImportError: No module named someName 错误消息是在apache的log中查看的,页面显示500错误 此时需要将当前应用的路径加入系统路径: import os import sys sys.path.append(os.path.abspath(os.path.dirname(__file__))) 页面显示正常,可以引入自定义模块了。 过了一段时间,项目中增加了logging功能,并且是通过配置文件对logging进行初始化的。在python中直接运行脚本没有问题, … “python使用webpy文件路径错误”

Read More

python启用日志功能

在python中一般情况下可以使用print进行简单调试,随着项目的不断演进,日志的需求就越发重要了。 下面先给出一个最简单的日志输出形式: import logging logging.warning(‘Oh, my log.’) 因为默认情况下python定义日志输出级别是warning以上的,所以如果这里用debug的话会看不到日志输出。 当然我们可以使用basicConfig进行设置,修改日志的输出级别 logging.basicConfig(level=logging.DEBUG) 个人更喜欢使用配置文件来设置 [crayon-5ce16ac3defac203 … “python启用日志功能”

Read More

python读取gzip数据

对于web请求,使用gzip压缩传输数据是很自然的事情,当然大多数情况下也是这样配置的。 使用python的urllib2模块通过http请求抓取数据也很方便,不过对于gzip数据需求进行一点小小的设置,这样才可以发挥压缩的效果。 发送http请求时只要设置一下urllib2中request的header就可以了,告诉服务器自己可以接收gzip压缩的数据。 相应的在收到数据后,需要判断下,因为服务端不一定启用了gzip压缩,避免出错。 多余的话就不多说了,看代码就知道了,很简单的哦。 python处理gzip请求代码片段:

Read More