
Pythoner
文章平均质量分 72
thy38
这个作者很懒,什么都没留下…
展开
-
《Core Python 2nd》读书摘要二
21.标准Type的分类作者将标准Type分成三个Model,以搞清相互之间的关系,以及如何动作。①Storage Model:Storage Model Category Python Types That Fit CategoryScalar/atomNumbers (all numeric types), strings (all are lite原创 2009-04-10 22:06:00 · 602 阅读 · 0 评论 -
Python装饰器学习
在《Core Python Programming 2nd》中学习到了装饰器,这对我来说是个完全陌生的语法,第一遍愣是没看懂,很有必要记一下。 第一眼看到这个词Decorator,我联想到了DP中的Decorator模式,后来才知道完全不是这么一回事。(再次鄙视一下国内浮躁的博客,我google了一下,几乎千篇一律都是什么锁同步装饰器、超时装饰器,我对原作者表达敬仰,可是大家都是转载就不像原创 2009-08-21 22:45:00 · 56448 阅读 · 15 评论 -
Zen of Python
在交互模式下输入>>> import thisThe 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 bet原创 2009-08-30 13:13:00 · 1137 阅读 · 0 评论 -
Python cPAMIE 模拟IE浏览器
PAMIE 是一个很有意思的模块。它是一个实现IE自动化的模块。在此之前我使用过ClientCookie这个模块,它可以使用urllib2来通过程序访问页面,并且很适合在需要cookie支持的环境中。不过,有些web的访问过程并不仅仅是下载文件这样的事情,有时是一系统的动作。PAMIE应该是一个更直观,更简单的模拟手工输入的过程。不过,局限就是它只支持IE,在某些特殊情况下还是可以的。使原创 2009-10-27 19:20:00 · 5225 阅读 · 1 评论 -
python脚本模拟浏览器
(偶尔看到,怕忘了)仿用户打开浏览器然后点击等行为然后获取结果,以下是我使用过的方法只是依赖与ie不过firefox等应该也有相应的调用方法: 思路就是调用ie的com组件然后就是对dom的操作跟用javascript操作dom类似,示范代码如下#天涯登陆地址 tianyalogin = "http://www.tianya.cn/" tianya_user = "xxxxx"原创 2009-10-27 19:11:00 · 6140 阅读 · 1 评论 -
第一次写完整的Python GUI程序
夜里用外挂容易被查,因此想让菜熟的时间集中到白天,每次都要口算,麻烦,正好刚刚学了wxPython,一时手痒,来自己写个吧。虽说纯属自娱自乐,但也学到不少东西。现记于下。 1. 关于Python的GUI设计 一直以来都没有一个足够好的Killer IDE,这也怪不得,没有一个足够强大的后台,要想做成重量级的IDE谈何容易(要是Google拉一把就好了,可惜Google出了自己的语原创 2009-11-13 22:00:00 · 10586 阅读 · 1 评论 -
对于正则表达式在Python中用法的几点思考
本文用几种情况讨论了正则表达式循环消除优化、Python中的点通配模式、整行读出方法。本文源于一个Non-Trivial程序,从蛋白质语料库中提取出蛋白质词组。如第一行中的bradykinin B(1)bradykinin B(1) 就是一个带嵌套的蛋白质词组的例子。为了说明问题,我在bradykinin B(1) 中人为加入了干扰因素bradykinin B(1) 。# -原创 2009-11-16 18:47:00 · 1360 阅读 · 0 评论 -
如何用正规表达式查找不以某些字符结尾的单词——一次回帖想到的
原贴子在这里:http://topic.youkuaiyun.com/u/20100205/16/33f62568-ad66-435b-a3b5-99da746e6dde.html?seed=1920623080&r=63305046#r_63305046经过整理,心得如下: 为了说明问题方便,缩短测试用例,要求是找出不以ly结尾的单词。 txt = thy38ly thy38原创 2010-02-06 00:14:00 · 3171 阅读 · 1 评论 -
在Pydev中使用utf-8的心得小结
PyScripter一直用得挺不错的,直到用上了wxPython,在PyScripter中直接运行wxPython的程序是不行的,因为它们的mainloop有冲突。后来看到了Pydev,抱着试试看的心态来用用。 刚开始用Pydev时,一直还得开一个PyScripter,因为觉得Pydev中没有Interactive Console,后来发现可以打开两个console标签,然后将其中一个变成原创 2009-12-25 22:06:00 · 5370 阅读 · 1 评论 -
wxPython做GUI:如何在Grid中响应鼠标移动事件
最近写一个小软件,GUI是用wxPython做的,有一个功能需要捕获鼠标在Grid控件上的移动事件。我先在Boa Constructor中拖出一个Grid原型来做测试,发现很容易,只要grid.Bind(wx.EVT_MOTION, self.OnGridMotion)就可以了,但是移植到软件中去之后,死活无法响应,百思不得其解。 不断的尝试之下,总算发现了当Grid还没有创建原创 2010-01-04 19:25:00 · 5726 阅读 · 4 评论 -
《Python 2.1 宝典》读书笔记
看完了《Core Python 2nd》,入门是肯定了,但离掌握还有不小的距离。抛开那些数不尽的模块不说,单是语言这一块,仍然有不少特性只是了解,仍不能熟练地运用。用Stroustrup的话说:必须用语言的本质特征来编写程序。我仍然有30%左右的地方在用C++的方式在写Python程序。所以在看《Python2.1 宝典》之际,我决定小记一下,起到熟练的作用,做一个Pythoner。原创 2010-04-08 15:06:00 · 9288 阅读 · 0 评论 -
Python模块随想随记
时常见到一些好的Python模块,如果不随时记下,等用的时候又是一阵乱翻,好在Python引用一个模块极其方便,OK,废话少说: 1. decimal标准模块,2.4引入,用于浮点数的精确表示:>>> 0.1 + 0.1 + 0.1 - 0.35.5511151231257827e-17>>> from decimal import Decimal>>> def _(x原创 2010-04-10 09:28:00 · 1233 阅读 · 1 评论 -
wxPython中如何让继承使用了PyGridTableBase的grid切换数据
小记以前一个QQ农场偷菜软件我的展示农作物的表格有点复杂,数据类继承Grid.PyGridTableBase,显示类继承Grid.PyGridCellRenderer问题是当我在运行时要切换表格中的数据时,表格并不随之动态更新。这个问题困扰了我很久,曾经逼得我建了3个表格,切换数据时隐藏另外两个。可这个解决方案实在不漂亮。一次次Google加一次偶然的灵机一动,I hack i原创 2014-04-01 20:05:51 · 4518 阅读 · 0 评论 -
Windows下Python程序打包小结
这还是之前的文章,最近发现了,还是存在网上好找些。当然现在我的观念有点不一样了,纯Windows下桌面应用,还是Winform为首选,遇到复杂动画时用WPF控件。跨平台桌面应用,可以选择MONO,还可以用Boost C++导入Python程序,这比直接打包Python方便,像GUIMiner应该就是:记下吧,也会用得上:Windows不像Linux,没有默认安装Python环境原创 2014-04-01 20:19:08 · 4438 阅读 · 0 评论 -
Django显示图片
通常在App的根目录下建两个目录static用来放网站自己的图片、js、css等media用来放用户上传的图片、文件等现在假设有d:/wwwsite/office/static/images/psb.jpg在urls.py中的urlpatterns中添加:urlpatterns = patterns('', url(r'^static/(?P.*)', 'dja原创 2014-04-12 20:57:23 · 29244 阅读 · 5 评论 -
在C#中调用django rest framework需要身份认证的api
最近在项目中需要将设备的数据上传到网站,决定使用webservice原创 2014-05-28 11:09:08 · 3838 阅读 · 0 评论 -
Python的walk和Decorator使用一例
由于经常要查询C++相关的资料,翻书太麻烦,MSDN太大,去网上查询又太慢。于是决定将www.cplusplus.com整个打包成CHM,以便查询用。 将网站down下来之后,发现要做成CHM还是有不少后期工作要做,比如:应该把页面右上方的Login去掉。。。正好学了Python一直没有派上大的用场,咱露它一小手吧。 第一个问题就是遍历目录的问题,网站下面有好几十个目录,以前写C+原创 2009-08-24 10:08:00 · 3505 阅读 · 1 评论 -
C++代码中嵌入Python之后程序的发布问题
一个很简单的程序: #include "boost/python.hpp"int _tmain(int argc, _TCHAR* argv[]){ Py_Initialize(); PyRun_SimpleString("print hello"); Py_Finalize(); system("pause"); retu原创 2009-08-20 21:51:00 · 2946 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记一:String
1.两个字符串放在一起会自动合并 "Lets say " "Hello, world!" --->Let/s say "Hello, world!" 但是两个字符串变量放在一起中间要加“+”号才会合并 2.str与repr str会将变量转化成某种用户能够理解的String方式,如 print str(10000L) --->10000 #str(object) -- Converts原创 2009-04-11 08:46:00 · 928 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记二:Sequence
1.下标从0开始,-1代表最后一个元素,-2为倒数第二个。 2.因为顺序化操作是内置的,所以形如 Hello[1] fourth = raw_input(Year: )[3] 均为合法输入 3.可以用*来重复List的值 如action = 3 * [go] --->([go] * 3也一样) [go, go, go] 而action = 3 * go --->(原创 2009-04-11 08:50:00 · 720 阅读 · 0 评论 -
《Core Python 2nd》读书摘要一
1.print语句在2.0版本之后支持重定向,使用>>语法:输出到标准错误流import sysprint >> sys.stderr, Fatal error: invalid input!输出到log文件logfile = open(/tmp/mylog.txt, a)print >> logfile, Fatal error: invalid input!lo原创 2009-04-01 15:38:00 · 900 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记四:Tuple
Tuple与List最大的区别就是Tuple的元素不可更改(和String一样),其它几乎感觉不到区别(The only difference is that tuples can’t be changed.) 1.元素后出现逗号就自动成为Tuple 1,2,3 ---> (1,2,3) (1,2,3) ---> (1,2,3) 18, ---> (18,) #仅有一个元素 注意以下两例的区别:原创 2009-04-19 22:11:00 · 604 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记五:Advanced String
1.格式化 format=hello, %s. Your ID is %d. values=(thy, 38) print format % values ---> hello, thy. Your ID is 38. 如第二句如示,要修饰多个元素,可以用Tuple,也可以用Dictionary(但不可以用List,因为List会被认为仅仅是一个单值) 2.模板(此功能不是内置的,因此原创 2009-04-19 22:12:00 · 715 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记八:Abstraction
Laziness Is a Virtue --- Real programmers are lazy. Not lazy in a bad way, but in the sense that they don’t do unnecessary work. 1.创建函数 def fibs(num): result = [0, 1] for i in range(num-2)原创 2009-04-19 22:21:00 · 795 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记七:Statement
1.More about Print print Age:, 42 ---> Age: 42 注意以下语句的区别: 1, 2, 3 ---> (1, 2, 3) print 1, 2, 3 ---> 1 2 3 print (1, 2, 3) ---> (1, 2, 3) 2.More about Import import somemodule from somemodule import原创 2009-04-19 22:16:00 · 1168 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记三:List
1.删除元素 names = [thy, jlj, god, dog] del names[1] ---> [thy, god, dog] 2.片段赋值 names[1:]=list(thy) ---> [thy, t, h, y] names[2:2]=[] ---> [thy, t, y] 但要注意片段赋值的右值只能为List 3.a原创 2009-04-11 08:52:00 · 729 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记六:Dictionary
1.创建(注意Dictionary是没有顺序的) phonebook = {Alice: 2341, Beth: 9102, Cecil: 3258} 冒号之前为key,之后为value,key必须具有唯一性。 items = [(name, Gumby), (age, 42)] d = dict(items) ---> {age: 42, name:原创 2009-04-19 22:13:00 · 909 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记九:More Abstraction
0.类的私有性 Python中对象的属性是可以从外部访问的,本身不直接支持私有性,对此的解释是 Isn’t it enough that each object manages its own attributes? 在Python中如果要使方法或属性从外部不可访问,则必须在名字前加上两个下划线 class Secretive: def __inaccessible(self):原创 2009-04-20 23:10:00 · 831 阅读 · 1 评论 -
《Beginning Python From Novice to Professional》学习笔记十:Exception
0.最重要的内置异常Exception:所有异常的基类AttributeError:属性引用或赋值异常IOError:试图读、写不存在的文件IndexError:使用Sequence中不存在的IndexKeyError:使用Mapping中不存在的KeyNameError:变量名未找到SyntaxError:语法错TypeError:在内置函数中使用错误的类型ValueError:类型对,但值不正原创 2009-05-10 15:43:00 · 1108 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记十二:__Magic__
1.属性访问class Rectangle: def __init__(self): self.width = 0 self.height = 0 def setSize(self, size): self.width, self.height = size #我的理解是自动组成Tuple def getS原创 2009-05-20 16:59:00 · 914 阅读 · 0 评论 -
《Beginning Python From Novice to Professional》学习笔记十一:__Magic__
n大魔力1.构造函数class FooBar: def __init__(self, value=42): self.somevar = value f = FooBar(This is a constructor argument)f.somevar --->This is a constructor argument在继承机制中调用父类的构造函数原创 2009-05-20 16:56:00 · 944 阅读 · 0 评论 -
Python中对Tuple之间排序时如何指定第几个元素为关键字排序的问题
因为Core Python Programming上的一个作业7-3要求将一个Dictionary的key和value同时显示,并按key排序。 我做完之后就考虑如果要求按value排序呢?或者说多个Tuple之间排序时如果指定用第几个元素为关键字? google了一下找到了答案,记一下: 解决方案有二: 方法一是采用lambda语法。 Python 支原创 2009-08-03 19:41:00 · 10911 阅读 · 2 评论 -
小结两种在Python中导入C语言扩展库的方法
一种是Python文档的推荐方案,采用C API扩展写法:在D:建一个add.c文件,输入//add.c//#include ;static PyObject* add(PyObject *self, PyObject *args); //一定声明为static,把他们限制在这个文件范围里。 几乎所有的参数都是PyObject类型。 在python,每个东西都是原创 2009-08-18 20:44:00 · 7526 阅读 · 1 评论 -
用Python高效地移动文件
对于同盘移动文件或目录,shutil.move基于复制,远不如os.rename高效。原创 2009-08-29 15:04:00 · 25721 阅读 · 0 评论