随笔分类 - python
摘要:python 的函数装饰器Function decorator)对一个方法应用多个装饰方法:@A@B@Cdef f ():#等价于下面的形式,Python会按照应用次序依次调用装饰方法(最近的先调用)def f(): f = A(B(C(f)))装饰方法解析:每个decorator只是一个方法, 可以是自定义的或者内置的(如内置的@staticmethod/@classmethod)。decorator方法把要装饰的方法作为输入参数,在函数体内可以进行任意的操作(可以想象其中蕴含的威力强大,会有很多应用场景), 只要确保最后返回一个可执行的函数即可(可以是原来的输入参数函数, 或者是一个新函数
阅读全文
摘要:安装配置Trac:easy_install -U Trac$ trac-admin /path/to/myproject initenv更改权限:chown -R apache.apache /path/to/myproject部署Trac:运行:tracd --port 8000 /path/to/myproject忽略环境设置:tracd -s --port 8000 /path/to/myproject
阅读全文
摘要:Python virtualenv[ 2010-06-02 10:14:13 | 作者: yuhen ]字号: 大 | 中 | 小virtualenv 的作用相当于 Sandbox,它通过隔离包目录和系统环境参数来实现多个相对独立的虚拟环境。如此可避免过多的第三方库因版本依赖造成问题。同时每个独立的虚拟环境只需通过打包即可分发,也大大方便了系统部署。$ sudo easy_install virtualenv现在我们可以创建虚拟环境了。$ virtualenv test1New python executable in test1/bin/pythonInstalling setuptools
阅读全文
摘要:如何理解递归,写出正确的递归程序,我觉得有几个关键点:1.要从整体把握问题递归的难点在于人脑并不适合去跟踪递归中自己调用自己的这个过程,这是因为人脑中不像计算机一样有一个可以记忆的堆栈,但是不同的是人是会归纳的,而计算机只知道调用-返回。因此,理解和设计递归,一定要从整体把握,数学归纳法和递归是一个对称的关系,数学归纳法不断的扩展自己,递归则是不断的分解自己。递归中的递就是把主问题分解成子问题,归就是利用子问题的解逐步向上求解的过程了。关键点是要善用数学归纳法里面的假设,就是假设子问题已经求解了,它得到的结果是什么,一旦这么想就是在从整体上把握问题,不必再去纠结细节。设计一个递归函数的时候,首
阅读全文
摘要:python——IPy库 (2011-03-09 15:29)分类: pythonWebsite: https://github.com/haypo/python-ipy/安装:easy_install IPy>>> from IPy import IP>>> dir(IP) ['__add__', '__cmp__', '__contains__', '__doc__', '__eq__', '__getitem__', '__hash__',
阅读全文
摘要:windows下命令行下输入python文件名直接执行时,sys.argv里面只有文件名,其他参数没有传进来。解决办法:打开注册表 : \HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command"D:\develop\Python27\python.exe" "%1" 后面加上%*,即:"D:\develop\Python27\python.exe" "%1" %*问题就解决了
阅读全文
摘要:google api 很强大,用python调用这些API的方法:1.Google Map Api>>>import urllib,urllib2>>>val = {'q':'New York', 'sensor':'false','output':'xml','oe':'utf-8'} #还有个key的选项,如果申请了密钥可以加进去,但是本地测试加不加都可以>>> urllib2.urlopen('htt
阅读全文
摘要:Selenium 是 thoughtworks公司的一个集成测试的强大工具。最近参与了一个系统移植的项目,正好用到这个工具,把一些使用心得分享给大家,希望大家能多多使用这样的强大的,免费的工具,来保证我们的质量。Selenium 的文档现存的不少,不过都太简单了。使用Selenium的时候,我更多的是直接去看API文档,好在API不错,一个一个看,就能找到所需要的 :-) 官方网站:http://www.openqa.org/selenium/好,下面进入正题!一、Selenium 的版本Selenium 现在存在2个版本,一个叫 selenium-core, 一个叫selenium-rc 。
阅读全文
摘要:PAMIE- Python实现IE自动化的模块(附 网易注册代码) 收藏 PAMIE是一套为Python写的用于Web自动化测试的工具,采用Win32COM的方式操作IE来实现。pamie是个很好的操作IE的模块用pamie来操作ie浏览器好方便啊,本来它就是一个IE测试自动化的东西,这样,用pamie来抓取网页,自动提交表单很容易。使用:来测试一个最简单的例子:from cPAMIE import PAMIEie = PAMIE()ie.navigate("google.com")ie.textBoxSet('q','python')ie.
阅读全文
摘要:用python爬虫抓站的一些技巧总结Posted on December 26, 2009 by observer 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写google music的抓取脚本的,结果有了强大的gmbox,也就不用写了。-这些脚本有一个共性,都是和web相关的,总要用到获取链接的一些方法,再加上simplecd这个半爬虫半网站的项目,累积不少爬虫抓站的经验,在此总结一下,那么以后做东西也就不用重复劳动了。-1.最基本的抓站impo
阅读全文
摘要:python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]。 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]。 对于Python代码 1.s= "你好" 2.u=u"你好" 1. s.decode方法和u.encode方法是最常用的, 简单说来就是,python内部表示字符串用unicode(其实python内部的表示和真实的unicode是有
阅读全文
摘要:做一个小程序遇到了一个bug,查了半天才发现是dict的keys()方法得到list的元素顺序问题导致。orginDict ={'a':0, 'b':0, 'c':0}statDict.setdefault('stat1', orginDict.copy())问题就在于如果取orginDict.keys() 和statDict['stat1'].keys() 所得到的list元素顺序并不一样。我后来采用的方法是statDict.itervalues().next().keys() 任取一条得到keys,这样就能保证
阅读全文
摘要:1、在QTextBrowser里面显示可打开的文件链接:直接在TextBrowser里面显示:self.txbrLogging.append(u'<a href="file:///d://employer.xls">员工统计</a>') 用默认外部工具打开:self.txbrLogging.append(u'<a href="d://employer.xls">员工统计</a>') self.txbrLogging.setOpenExternalLinks(True)2、op
阅读全文
摘要:eclipse failed to create the java virtual machine Problem:启动 出现 :eclipse failed to create the java virtual machinePossible Solution 1:修改eclipse.ini--launcher.XXMaxPermSize256M--launcher.XXMaxPermSize256mTo--launcher.XXMaxPermSize128M--launcher.XXMaxPermSize128mPossible Solution 2:修改eclipse.ini-Xmx51
阅读全文
摘要:Pydev安装:1、Help > Install New Software..., 点add site 输入http://pydev.org/updates,取个名字 Pydev and Pydev extensions2、window > preferences > PyDev > Interpreter - (Python/Jython/IronPython). 配置interpreter,选择python安装目录下的python.exe,点finish,自动搞定。3、window > preferences 选择General->workspace,T
阅读全文
摘要:web:Python web automation 网页自动化技术看看我自己写的程序,在web automation这个方面的数量最多。网上对这方面程序的需求也很多,因为web的时代,操作的工作量移到web上来了, 机器替代人的需求增大也就不足为奇。无疑python是做这方面工作的好手:总结一下python做web automation常用手段:基于urllib2、urllib: 绝大多数都是这一类,如mechanize,twill,等等。基础模块都是urllib2,也就是wrapper。这类的是基于http请求响应的封装。我自己也写了一个叫autoform,调用文件模板填表,原理都一样。GO
阅读全文
摘要:可爱的 Python: 使用 mechanize 和 Beautiful Soup 轻松收集 Web 数据使用 Python 工具简化 Web 站点数据的提取和组织David Mertz, Ph.D., 开发人员, Gnosis Software, Inc.从 2000 年开始,David Mertz 就一直在为 developerWorks 专栏 Charming Python 和 XML Matters 撰稿。您可以阅读他撰写的书籍 Text Processing in Python。有关 David 的更多信息,请访问其 个人主页。简介:需要从 Web 页面收集数据时,可以使用 mech
阅读全文
摘要:python的string和PyQt的QString的区别python string和PyQt的QString的区别 以下在Python2.6和PyQt4.4.4 for Python2,6环境下讨论: Python中有两种有关字符的类型:Python string object和Python Unicode object。主要使用Python string object进行数据输入 python string和PyQt的QString的区别以下在 Python2.6和PyQt4.4.4 for Python2,6环境下讨论:Python中有两种有关字符的类型:Python string ob
阅读全文
摘要:可爱的 Python: 迭代器和简单生成器Python 2.2 中的新型构造David Mertz,博士 (mertz@gnosis.cx), 自学者, Gnosis Software,Inc.没有直觉的概念是空洞的,而没有概念的直觉是盲目的,David Mertz 要在他的办公室里放置一个弥尔顿的石膏像。开始为他的生日做计划。可以通过 mertz@gnosis.cx 与 David 联系;在 http://gnosis.cx/publish/ 上详细介绍了他的生活。非常欢迎对以前的、本篇和以后的专栏文章提出建议和意见。 简介:Python 2.2 引进了一种带有新关键字的新型构造。这种构造是
阅读全文
摘要:可爱的 Python: 用 Psyco 让 Python 运行得像 C 一样快使用 Psyco:Python 专用编译器David Mertz (mertz@gnosis.cx), 博士,报章作家, Gnosis Software, Inc.David Mertz 作为猎人、渔夫和牧羊人的失败导致了他的评论性批评生涯。明天他也许会尝试点别的。可以通过 mertz@gnosis.cx和 David 联系;在 http://gnosis.cx/publish/上了解他的生活。欢迎提出关于本栏过去、现在和将来的意见和建议。 简介:Python 的设计在很多方面都类似于 Java 的设计。两者都利用了
阅读全文
浙公网安备 33010602011771号