webpy的常规使用与踩过的坑
在使用python做网站的时候首先接触的就是webpy了,这个框架小巧简单,对于小型的网络应用功能足以了,在使用的过程中也遇到过一些总是,在这里也记录总结一下
安装
pip install web.py -i https://pypi.douban.com/simple
在使用python做网站的时候首先接触的就是webpy了,这个框架小巧简单,对于小型的网络应用功能足以了,在使用的过程中也遇到过一些总是,在这里也记录总结一下
pip install web.py -i https://pypi.douban.com/simple
最近写一个小脚本,在使用系统急救箱扫描并且处理完后,要将处理以后的样本和提供的标准进行对比 已经提供了样本与处理以后的文件,我要写的脚本就是启急救箱并且将两个文件夹进行比较 启动并且扫描比较好实现,但是在进行文件夹对比的时候走了一些弯路 上网查到python的标准库里有一个filecmp类,这个类可以对文件夹或者文件进行对比,使用起来还是比较方便的 filecmp官方文档/
使用最下面的例子程序,我又对其进行了扩充 我想达到的目的就是先对两个文件夹进行比较,输出不同的文件,然后再输出各自文件夹中独有的文件
在国内使用pip安装包的时候,很多时候由于各种原因无法正常使用pypi.python.org的源,还好有国内的良心网站提供了国内镜像
网上的方法都是在%HOMEPATH%中新建pip目录,再新建一个pip.ini,可是我试了以后还是不能用,也不知道原作者是否可以用
后来我看了一下它的文档
最近项目中有个需求要在至少100台手机上对应用进行兼容性测试,首先想到的就是自动化来操作,不想一台台的操作相同的重复操作
基本的需求是这样的,安装被测试的应用,启动并退出,然后安装测试样本,检测是否有相应的弹窗拦截
考虑到市面上的各种测试框架与自已熟悉的编程语言,最后选择了google自家的uiautomator来搞,借助于前人对其进行了python封装,所以一开始还是挺顺利的,但是整个过程中还是有很多需要注意的地方
最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程
一、先说说Queue(队列对象)
Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它的容量,别吃撑了,吃多了,就会报错,构造的时候不写或者写个小于1的数则表示无限多
import Queue
q = Queue.Queue(10)
#向队列中放值(put)
q.put(‘yang’)
q.put(4)
q.put([‘yan’,’xing’])
#在队列中取值get()
#默认的队列是先进先出的
>>> q.get()
'yang'
>>> q.get()
4
>>> q.get()
['yan', 'xing']
>>>
早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urllib2等方法真是太搓了……
这里写些简单的使用初步作为一个记录
在编程领域中,中文编码问题一向是个很头疼的问题,今天写点总结一下解决的方法
unicode与utf-8和gbk之间的转换,涉及到的函数有decode与encode
首先明确一下,python中的字符串都是以某种编码来存储的,就中文来说,以gbk与utf-8的,你虽然可以这样定义一个变量 s = u’杨彦星’,但是你可以用type(s) 来看一下它的类型,此时这个s 不是字符串,而是unicode类型,当你定义s = ‘杨彦星’的时候,这时type(s)才是str类型,但是当你直接定义s = ‘杨彦星’时会在不同的场景下出现不同的问题,windows下的cmd还好,换到一个utf-8的解析器里就是乱码,所以最好的方式是在定义有中文(或者说非英文的)字符串时以unicode来定义,然后再去解码输出。
将字符串decode成unicode
s = ‘杨彦星’
s_uni = s.decode(‘gbk’) #将s转换成unicode,decode的时候就加上这个字符原来的编码类型
s_utf8 = s_uni.encode(‘utf-8’)
s_gbk = s_uni.encode(‘gbk’)
python中有系统自带的logging模块,使用起来非常方便,并且要在程序中经常要使用这个模块,这样出了问题可以通过日志很方便的查找在哪里出了问题,比直接找代码要方便些
我记录了一些经常用到的,不是很常用的可以到python文档中去查看 http://docs.python.org/2/library/logging.html
网页中的数据在传递的时候有GET和POST两种方式,GET是以网址的形式传参数,在web.py中有着很好的匹配,如果我们配置以下的urls
urls =(
'/','index',
'/weixin/(.*?)','WeixinInterface'
先不考虑/weixin/后面的东西,现在我们来写index的类
class index:
def GET(self):
i = web.input(name = 'kevinkelin',age = 100)