分类 Python 中的文章

笨方法实现webpy的表单校验功能

最近在写一个小的demo,简单的用户注册与登录,检查在注册的时候要先检测用户名是否已经存在了,还要检查一下密码长度要不得小于3个字符

检查用户是否存在我是写在了一个单独的model.py里

1
2
3
4
5
6
def check(uname):
info = db.select('pytest',where="username=$uname",vars=locals())
if len(info)>0:
return False
else:
return True
……

阅读全文

appium简明教程(转)

乙醇的自动化教程写的挺好的,以下是转自他的cnblogs上面的博客

appium简明教程(1)——appium和它的哲学世界

什么是appium?

下面这段介绍来自于appium的官网。

Appium is an open-source tool you can use to automate mobile native, mobile web, and mobile hybrid applications on iOS and Android platforms. “Mobile native apps” are those written using the iOS or Android SDKs. “Mobile web apps” are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome on Android). “Mobile hybrid apps” have a native wrapper around a “webview” – a native control that enables interaction with web content. Projects like Phonegap, for example, make it easy to build apps using web technologies that are then bundled into a native wrapper – these are hybrid apps.

Importantly, Appium is “cross-platform”: it allows you to write tests against multiple platforms (iOS, Android), using the same API. This enables a large or total amount of code reuse between iOS and Android testsuites. 我们可以从上面的介绍里获得这样的一些信息:

  • 1,appium是开源的移动端自动化测试框架;
  • 2,appium可以测试原生的、混合的、以及移动端的web项目;
  • 3,appium可以测试ios,android应用(当然了,还有firefox os);
  • 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上; appium的哲学
……

阅读全文

mysql与mongodb命令对比

之前一直在使用mysql,最近开始接触mongodb,觉得还是有一些相似的地方,只是相应的命令不大一样,这里做下记录,对比记应该相对简单一些……

阅读全文

修改Gwibber脚本成功添加新浪微博账户(解决一直正在认证的问题)

Gwibber是linux下使用python基于 WebKit 和 GTK的客户端,其实本身功能大大陆基本上都用不了,只有一个新浪微博能用,但是里面的api认证还是用的几年前的oauth1,新浪早就将其停用了,现在 都采用的是oauth2认证,但是这个客户端还没有更新,在使用的时候会显示一直在认证页面。

其实本来也不想用它来发看微博,只是想完成认证,后面经过修改以后主界面报异常,不管了,这个客户端总之太挫了……

使用官方推荐的由@廖雪峰 写的python SDK,https://github.com/michaelliao/sinaweibopy/wiki/OAuth2-HOWTO

将python SDK中的weibo.py放到__init__.py同级目录下

……

阅读全文

python中的Queue与多进程(multiprocessing)

最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程

一、先说说Queue(队列对象)

Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它的容量,别吃撑了,吃多了,就会报错,构造的时候不写或者写个小于1的数则表示无限多

import Queue

q = Queue.Queue(10)

向队列中放值(put)

q.put(‘yang’)

q.put(4)

q.put([‘yan’,’xing’])

在队列中取值get()

默认的队列是先进先出的

……

阅读全文

python操作selenium的基本操作

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 #coding:utf-8 from……

阅读全文

python的requests初步使用

早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urllib2等方法真是太搓了……

这里写些简单的使用初步作为一个记录

……

阅读全文

切换google的公共库缓解网站访问慢的问题

近期谷(zheng)歌(fu)抽疯,很多google的公共库文件访问缓慢或者根本就是无法访问,很多网站前端以前都是直接引用google的地址,这会或多或少的影响网站打开速度。本人博客也“不幸”引入了一些google的公共库,换了几个服务器,无论是BAE还是SAE或者国外的服务器再或者是国内的服务器,都很慢,今天查了查,将其换为360网站卫士提供的公共库资源(http://libs.useso.com/),效果果然提高不少。

这个是由360网站卫士CDN驱动的常用前端公共库以及和谐使用Google公共库&字体库的调用方法。

打开Chrome开发者工具(F12),打开网站,查看到一些引用都是error,其中一个是

……

阅读全文

python中的中文编码问题

在编程领域中,中文编码问题一向是个很头疼的问题,今天写点总结一下解决的方法

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’)

……

阅读全文