随笔分类 -  python

python中的__all__和__slots__
摘要:python两个有趣属性__all__可用于模块导入时限制,如:from module import *此时被导入模块若定义了__all__属性,则只有all内指定的属性、方法、类可被导入~若没定义,则模块内的所有将被导入。__slots__用于限定类属性,如:class A(object): __slots__ = ['var']此时外部调用时,如:a = A()a.var = 4 #不会报错a.other = 4 #此时则会抛出异常AttributeError 阅读全文
posted @ 2013-09-22 22:12 一个人的天空@ 阅读(787) 评论(1) 推荐(1) 编辑
InvalidateRect(转)
摘要:///===================该段是自己总结的一个小结=================================InvalidateRect()函数的作用是设置一个无效区域,并发送一个WM_PAINT消息到消息队列中,不过这个消息在众多的消息之中优先级比较级。在VC++编程中,对无效区域的处理方式是:在OnPaint()中绘图,不管它绘制了什么图形,有一点应该明白,有效区域是绘制不上去图形的,或者是尽管绘制上去了,但也不会显示出来。总之就是在有效区域上绘制的图形不能生效。换一种说法就是:在OnPaint()中绘图,不管它绘制了什么图形,只有设置为无效区域的区域才会显示它所 阅读全文
posted @ 2013-09-10 13:53 一个人的天空@ 阅读(5536) 评论(0) 推荐(0) 编辑
InvalidateRect()与Invalidate()的用法(转)
摘要:BOOL InvalidateRect(HWNDhWnd,// 窗口句柄CONST RECT*lpRect,// 矩形区域BOOLbErase//是否擦除背景);InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效。InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。void Invalidate( BOOL bErase )执行之后调用函数的次序为:...OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint()和 阅读全文
posted @ 2013-09-10 11:25 一个人的天空@ 阅读(2874) 评论(0) 推荐(0) 编辑
apache&mod_wsgi&django部署多个项目
摘要:今天做好了第二个django项目,但在部署时出了一点小问题,在此记录一下。1、mod_wsgi 3.4已经支持了部署多个项目,只需在httpd.conf中进行如下配置:WSGIScriptAlias /website1 "D:\website1\django.wsgi" Options ExecCGI Order deny,allow Allow from allWSGIScriptAlias /website2 "D:\website2\django.wsgi" Options ExecCGI Order deny,allow Allow from a 阅读全文
posted @ 2013-09-04 18:32 一个人的天空@ 阅读(4957) 评论(0) 推荐(0) 编辑
python中获取当前位置所在的行号和函数名(转)
摘要:http://www.vimer.cn/2010/12/%E5%9C%A8python%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8D%E4%BD%8D%E7%BD%AE%E6%89%80%E5%9C%A8%E7%9A%84%E8%A1%8C%E5%8F%B7%E5%92%8C%E5%87%BD%E6%95%B0%E5%90%8D.html对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__line__和__ 阅读全文
posted @ 2013-08-29 17:52 一个人的天空@ 阅读(12811) 评论(0) 推荐(1) 编辑
django safe 过滤器--不对字符串进行转义(转)
摘要:unix下的binutils短小精悍,用胶水(俺经常成管道为胶水)紧密结合在一起释放巨大的能量。django的过滤器也学习了这个方式,每个版本的django都自带了一些builtin的filter,当然我们也可以根据需要自己写。在写代码的过程中,遇到在render内容到html后,想基于此修改或者获取一些其他的信息,我一般选择是自己写个filter,十有八九都能work!今天就碰到了个问题,自定义的filter不能工作。一个同事要求在录入信息后,展示的时候要有间即所得的功能,例如,他输入了:port1 => 保留<port2 => comb1port2 => c 阅读全文
posted @ 2013-08-21 19:07 一个人的天空@ 阅读(3891) 评论(0) 推荐(0) 编辑
python string和dict转换
摘要:字典(dict)转为字符串(string)我们可以比较容易的将字典(dict)类型转为字符串(string)类型。通过遍历dict中的所有元素就可以实现字典到字符串的转换:for key, value in sample_dic.items(): print "\"%s\":\"%s\"" % (key, value)字符串(string)转为字典(dict)如何将一个字符串(string)转为字典(dict)呢?其实也很简单,只要用 eval()或exec() 函数就可以实现了。>>> a = "{ 阅读全文
posted @ 2013-08-07 13:47 一个人的天空@ 阅读(31362) 评论(0) 推荐(0) 编辑
Django Pagination
摘要:Django provides a few classes that help you manage paginated data – that is, data that’s split across several pages, with “Previous/Next” links. These classes live indjango/core/paginator.py.ExampleGivePaginatora list of objects, plus the number of items you’d like to have on each page, and it gives 阅读全文
posted @ 2013-08-06 17:49 一个人的天空@ 阅读(1230) 评论(0) 推荐(0) 编辑
Django URL传递参数的方法总结(转)
摘要:1 无参数情况配置URL及其视图如下:1234(r'^hello/$', hello)def hello(request): return HttpResponse("Hello World")访问http://127.0.0.1:8000/hello,输出结果为“Hello World”2 传递一个参数 配置URL及其视图如下,URL中通过正则指定一个参数:1234(r'^plist/(.+)/$', helloParam)def helloParam(request,param1): return HttpResponse("T 阅读全文
posted @ 2013-08-05 18:02 一个人的天空@ 阅读(43511) 评论(2) 推荐(5) 编辑
django 获取 POST 请求值的几种方法(转)
摘要:转载请注明出处:http://hi.baidu.com/leejun_2005/blog/item/9a37a22238f35c5bac34de54.htmlfrom:http://stackoverflow.com/questions/7278523/avoiding-djangos-querydict-list-limitationsfrom:http://www.djangofoo.com/93/request-post-get-multiple-values1、django获取post过来的多个键值对:Ajax:var languages = {};languages['eng 阅读全文
posted @ 2013-08-05 18:00 一个人的天空@ 阅读(51051) 评论(0) 推荐(2) 编辑
Django 中文显示
摘要:Django中文显示:1、如要在.py文件中显示中文,在文件首行加上:# -*- coding: utf-8 -*-2、如要在html文件中显示中文,要将文件保存为UTF-8格式3、在setting,py里改成 :LANGUAGE_CODE= 'zh-cn' 阅读全文
posted @ 2013-08-03 11:30 一个人的天空@ 阅读(738) 评论(0) 推荐(0) 编辑
Python模块之: configobj(转)
摘要:原来也有写过一篇文章Python模块之: ConfigParser 用来解析INI文件,但是在使用过程中存在一些问题。比如:1,不能区分大小写。2,重新写入的ini文件不能保留原有INI文件的注释。3,重新写入的ini文件不能保持原有的顺序。4,不支持嵌套。5,不支持格式校验。我本来是想扩展ConfigParser来支持上面的一些缺点的,但是我觉得应该有人有类似的问题并应该有相关的模块满足我上面的需求的,于是放G搜索之。得到一个Lib: configobj。下面我将举例说明其常用的几个方法:项目地址:http://www.voidspace.org.uk/python/configobj.ht 阅读全文
posted @ 2013-07-25 11:06 一个人的天空@ 阅读(10953) 评论(1) 推荐(0) 编辑
开发笔记:python与随机数(转)
摘要:这些天需要用到从一堆数中随机提取几个数,于是重新研究了下random模块。下面介绍下random中常见的函数。前提:需要导入random模块>>>import random1、random.random random.random()用于生成一个0到1的随机符小数: 0 >> random.random() # Random float x,2、random.uniformrandom.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n 阅读全文
posted @ 2013-06-26 11:54 一个人的天空@ 阅读(336) 评论(0) 推荐(0) 编辑
基于MSAA的自动化封装和设计—python版(转)
摘要:MSAA也就是Microsoft© Active Accessibility,是微软90年代推出的一套技术。事实上,这套东西的初衷是为了供残疾人使用windows系统,比如放大镜,鼠标事件等等。这套东西后来被广泛使用在自动化测试中,也就是我们常说的IAccessible 接口,由于它为自动化测试提供了方便,IBM也扩展了这套接口,IAccessible2(如果没记错的话);web版本的,也就是ActiveX。说到这些,就必须提到ole这门技术,我的理解是微软内部一开始只是为了自己自动化方便,做了一套最原始的ole automation的东西(主要技术是边界值检测和引用计数),后来发现 阅读全文
posted @ 2013-06-13 14:38 一个人的天空@ 阅读(2590) 评论(1) 推荐(0) 编辑
Python 操作剪贴板(转)
摘要:import win32clipboard as wimport win32condef getText():w.OpenClipboard()d = w.GetClipboardData(win32con.CF_TEXT)w.CloseClipboard()return ddef setText(aString):w.OpenClipboard()w.EmptyClipboard()w.SetClipboardData(win32con.CF_TEXT, aString)w.CloseClipboard() 阅读全文
posted @ 2013-06-08 17:58 一个人的天空@ 阅读(421) 评论(0) 推荐(0) 编辑
Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
摘要:简介Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块,当然偶尔你还是可能在老代码里发现其踪影。就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则;该字符串集可能包含英文语句、e-mail地址、TeX命令或任何你想搞定的东 西。然後你可 阅读全文
posted @ 2013-05-29 10:40 一个人的天空@ 阅读(343) 评论(0) 推荐(0) 编辑
python单例模式(转)
摘要:单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点。实现某个类只有一个实例的途径:1,让一个全局变量使得一个对象被访问,但是他不能防止外部实例化多个对象。2,让类自身保存他的唯一实例,这个类可以保证没有其他实例可以被创建。多线程时的单例模式:加锁-双重锁定饿汉式单例类:在类被加载时就将自己实例化(静态初始化)。其优点是躲避了多线程访问的安全性问题,缺点是提前占用系统资源。懒汉式单例类:在第一次被引用时,才将自己实例化。避免开始时占用系统资源,但是有多线程访问安全性问题。实例:#encoding=utf-8#单例模式def PrintInfo(info):# print uni... 阅读全文
posted @ 2013-05-24 18:13 一个人的天空@ 阅读(12945) 评论(1) 推荐(1) 编辑
MENUITEMINFO结构的翻译(转)
摘要:MENUITEMINFO结构包含关于一个菜单项信息typedef struct tagMENUITEMINFO { UINT cbSize; UINT fMask; UINT fType; UINT fState; UINT wID; HMENU hSubMenu; HBITMAPhbmpChecked; HBITMAPhbmpUnchecked; DWORD dwItemData; LPTSTR dwTypeData; UINT cch;HBITMAPhbmpItem;} MENUITEMINFO, FAR *LPMENUITEMINFO;成员cbSize结构的大小,字节fMask检索或设置 阅读全文
posted @ 2013-05-20 15:18 一个人的天空@ 阅读(1813) 评论(0) 推荐(0) 编辑
Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import(转)
摘要:最近在看《Python源码剖析》,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了。目的当然不是创造一个动态语言,目的只有一个:更好的使用Python。看到模块导入那块的时候,终于对模块导入机制比较了解了,以防忘记特记录下来。模块的搜索路径模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可。下面是sys.path在Windows平台下的添加规则。1、sys.path第一个路径往往是主模块所在的目录。在交互环境下添加一个空项,它对 阅读全文
posted @ 2013-05-17 16:47 一个人的天空@ 阅读(4642) 评论(1) 推荐(2) 编辑
Python天天美味(14) - splitlines(转)
摘要:Python中的splitlines用来分割行。当传入的参数为True时,表示保留换行符 \n。通过下面的例子就很明白了:mulLine="""Hello!!!WellcometoPython'sworld!Therearealotofinterestingthings!Enjoyyourself.Thankyou!"""print''.join(mulLine.splitlines())print'------------'print''.join(mulLine.splitl 阅读全文
posted @ 2013-05-15 13:41 一个人的天空@ 阅读(224) 评论(0) 推荐(0) 编辑