随笔分类 -  Python

1 2 下一页

记录在Python2.7 x64 bit 下 PyQt5.8的编译过程
摘要:由于工作需要使用python下面的Qt库。PyQt现在只提供针对Python3.X系列的PyQt,所有需要自己手动编译。防止忘记,特意写下随笔记录备忘。 工 作 环境:Python版本:Python2.7 x64 版本, win10 64位系统 需求Qt版本:Qt5.8 编译过程如下: 1. 下载Q 阅读全文

posted @ 2017-04-29 15:44 |残阳|露 阅读(1506) 评论(0) 推荐(0) 编辑

朗科U903 低级格式化后,量产错误:read onlypage (控制器芯片群联2251-03)的解决方案
摘要:1. 下载群联量产工作MPALL v3.63.0D for Netac2. 在Setting页面,选择如下(红色矩形选中):3. 然后执行量产,量产完成后,重新插拔就能看到U盘。 阅读全文

posted @ 2013-09-14 15:25 |残阳|露 阅读(2983) 评论(0) 推荐(0) 编辑

python中快速删除实例对象中的所有属性
摘要:def DeleteObjectAllProperties(objectInstance): if not objectInstance: return listPro =[key for key in objectInstance.__dict__.keys()] for key in listPro: objectInstance.__delattr__(key) 阅读全文

posted @ 2013-08-25 07:24 |残阳|露 阅读(674) 评论(0) 推荐(0) 编辑

python中如何用sys.excepthook来对全局异常进行捕获、显示及输出到error日志中
摘要:使用sys.excepthook函数进行全局异常的获取。1. 使用MessageDialog实现异常显示;2. 使用logger把捕获的异常信息输出到日志中;步骤:定义异常处理函数, 并使用该函来替换掉系统的内置处理函数;对于threading.py的异常捕获,需要对该文件进行一些改变:如下:try: self.run() except SystemExit: if __debug__: self._note("%s.__bootstrap(): raised SystemE... 阅读全文

posted @ 2013-08-17 09:04 |残阳|露 阅读(11641) 评论(0) 推荐(1) 编辑

通过ctypes获得python windows process的内存使用情况
摘要:通过ctypes 类库中的win32方法GetProcessMemoryInfo()获得当前进程的内存使用情况。该函数可以在32或者64位,python2.6+及python3.x之上都能有用。"""Functions for getting memory usage of Windows processes."""__all__ = ['get_current_process', 'get_memory_info', 'get_memory_usage']import ctypesfr 阅读全文

posted @ 2013-08-05 20:23 |残阳|露 阅读(1349) 评论(0) 推荐(0) 编辑

Python的XMLRPC机制:实现跨进程间、client/server端通信
摘要:SimpleXMLRPCServer模块式python语言的一个基于 xml 格式的进程间通信的基础框架。SimpleXMLRPCServer是一个单线程的服务器,这意味着,如果几个客户端同时发出多个请求,其它的请求就必须等待第一个请求完成以后才 能继续。此处也有一个解决方法。例子代码如下:创建一个server端主进程,并且利用一个线程开启一个server线程,并开启一个client进程作为child 进程。MyRemoteService包含三个serveice服务方法,我们测试Add方法,从server端返回计算结果。#-*- coding: UTF-8 -*-import wximport 阅读全文

posted @ 2013-08-01 21:35 |残阳|露 阅读(1252) 评论(0) 推荐(0) 编辑

python类中显示重写__del__方法引起循环引用的对象无法释放,一种循环引用的检测方法
摘要:通常情况下,python的gc 垃圾回收机制,有一套算法,可以用来回收循环引用的对象,避免内存泄露。不过,有个例外的情况:显示重写了__del__方法。此时gc就无法释放资源,因为循环引用导致了引用计数器不可能为0。需要打破这种循环引用关系,才能释放资源。这就催生了招到一种,能去找出我们的程序代码中,存在的循环引用的关系。 gc中gc.garbage记录了所有不可回收的垃圾。gc.get_referents方法可以用来获得所有引用到该对象的资源。代码如下:注意如下几点:1. 所有的class应该继承与object或者,都有一个共同的基类object,这也是一个好的设计习惯。在该检测循环引用方. 阅读全文

posted @ 2013-04-05 14:08 |残阳|露 阅读(930) 评论(0) 推荐(0) 编辑

python类中显示重写__del__方法,引起循环引用的对象无法释放,造成垃圾泄露问题
摘要:通常情况下,python的gc 垃圾回收机制,有一套算法,可以用来回收循环引用的对象,避免内存泄露。不过,有个例外的情况:显示重写了__del__方法。例子:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 28-03-2013# Copyright: (c) ankier 2013# Licence: ... 阅读全文

posted @ 2013-03-28 22:18 |残阳|露 阅读(1628) 评论(0) 推荐(0) 编辑

Parallel Python 并行开发多核心并行程序(例3)
摘要:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 05-02-2013# Copyright: (c) ankier 2013# Licence: <your licence>#------------------------------------------------------------... 阅读全文

posted @ 2013-02-05 21:09 |残阳|露 阅读(525) 评论(0) 推荐(0) 编辑

Parallel Python 并行开发多核心并行程序(例子2)
摘要:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 05-02-2013# Copyright: (c) ankier 2013# Licence: <your licence>#------------------------------------------------------------... 阅读全文

posted @ 2013-02-05 20:51 |残阳|露 阅读(576) 评论(0) 推荐(0) 编辑

Parallel Python 并行开发多核心并行程序
摘要:python是解释型的语言,而Python解释器使用GIL(全局解 释器锁)来在内部禁止并行执行,正是这个GIL限制你在多核处理器上同一时间也只能执行一条字节码指令. python 3.0 里面已经改进, 默认有了多处理器编程的库了. Python2.XX暂时还不支持。Parallel Python 这个库,正是为次设计的, 而且它不仅可以多核处理器协同工作,还可以通过网络集群运行。http://www.parallelpython.com/下面的中文介绍来自这里:1. 简介PP 是一个Python模块,提供了在SMP(多CPU或多核)和集群(通过网络连接的多台计算机)上并行执行Python代 阅读全文

posted @ 2013-02-05 20:14 |残阳|露 阅读(2680) 评论(0) 推荐(0) 编辑

python 元类型编程,实现方法级的时间性能记录(performanceCount)
摘要:需求:系统中的每个操作流程,需要打印所有被执行到的方法的耗时。实现原理,利用python的元类型编程,动态改变class的创建过程,拦截class的方法,加上自定义的耗时记录。把记录导出到csv文件里面,方便对数据进行删选和排序。具体代码实现:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: performanceCountMeta# Purpose: 记录每个方法的时间消耗,帮助程序员方便的查找系统的性... 阅读全文

posted @ 2013-01-26 20:57 |残阳|露 阅读(377) 评论(0) 推荐(0) 编辑

python之,pydbg,pydasm库,逆向工程调试器的安装
摘要:pydbg是著名的基于python 实现的调试器。pydbg库依赖于pydasm库。所以安装之前,需要先build pydasm。1. 编译pydasm Step1, 下载libdasm源码http://code.google.com/p/libdasm/downloads/list Step2,需要用到Visual Studio Command Prompt (2008),并用 cd 进入pydasm fold。 Step3,输入命令 setup.py install 2. 测试 import pydasm ,如果报dll not load 错误,一般是msvcr80.dll确实,... 阅读全文

posted @ 2013-01-26 17:29 |残阳|露 阅读(2783) 评论(0) 推荐(0) 编辑

python之win32下,枚举进程,线程和线程对应的窗口的利用ctypes实现
摘要:import ctypesimport win32com.clientimport win32gui, win32api, pywintypesWMI = win32com.client.GetObject('winmgmts:')kernel32 = ctypes.windll.kernel32TH32CS_SNAPTHREAD = 0x00000004class THREADENTRY32(ctypes.Structure): _fields_ = [ ("dwSize", ctypes.c_ulong), ("cntUsage... 阅读全文

posted @ 2013-01-23 22:48 |残阳|露 阅读(1796) 评论(0) 推荐(0) 编辑

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器
摘要:simplejsonPython版的简单、 快速、 可扩展 JSON 编码器/解码器编码基本的 Python 对象层次结构:import simplejson as jsonprint json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])print json.dumps("\"foo\bar")print json.dumps(u'\u1234')print json.dumps('\\')print json.dumps({" 阅读全文

posted @ 2012-12-25 20:51 |残阳|露 阅读(2841) 评论(0) 推荐(0) 编辑

python 元类型编程, 单例模式SingleTon的一种实现方式
摘要:原理:利用元类型,重新定义类实例化一个新对象的方法(__call__)行为。让其只返回同一个实例。#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: ģ��shell# Purpose: Ӧ�ó����main��ں���## Author: ankier## Created: 26-10-2012# Copyright: (c) ankier 2012# Licence: <... 阅读全文

posted @ 2012-12-24 20:41 |残阳|露 阅读(246) 评论(0) 推荐(0) 编辑

python 元类型编程,实现匿名验证器的装饰器AuthenticationDecoratorMeta
摘要:metaclass,元类metaclass是这样定义的:In object-oriented programming,a metaclass is a class whose instances are classes.Just as an ordinary class defines the behavior of certain objects,a metaclass defines the behavior of certain classes and their instances.metaclass的实例化结果是类,而class实例化的结果是instance。metaclass是创建 阅读全文

posted @ 2012-12-24 20:03 |残阳|露 阅读(332) 评论(0) 推荐(0) 编辑

python 多个装饰器组合应用,实现面向切面之AOP编程
摘要:首先,需要对上面几篇介绍的2个callHandler (PerformanceCountCallHandler,CacheCallHandler)进行改写。代码如下:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: 模块2# Purpose:## Author: ankier## Created: 22-12-2012# Copyright: (c) Ankier 2012# Licence... 阅读全文

posted @ 2012-12-23 19:51 |残阳|露 阅读(398) 评论(0) 推荐(0) 编辑

python 实现简单的ExceptionCallHandler装饰器
摘要:Python的functools模块, 提供了3个有趣函数,partial,update_wrapper 和wraps 。partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象。update_wrapper函数,把被封装函数的__name__、__module__、__doc__和 __dict__都复制到封装函数去。wraps函数,对update_wrapper更进一步封装。可以利用wraps函数,实现简单的方法拦截机制,来实现自己的ExceptionCallHandler,具体实现:#-*- coding: UTF-8 -*-#----------- 阅读全文

posted @ 2012-12-22 15:10 |残阳|露 阅读(433) 评论(0) 推荐(0) 编辑

python 实现简单的PerformanceCountCallHandler装饰器
摘要:Python的functools模块, 提供了3个有趣函数,partial,update_wrapper 和wraps 。partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象。update_wrapper函数,把被封装函数的__name__、__module__、__doc__和 __dict__都复制到封装函数去。wraps函数,对update_wrapper更进一步封装。可以利用wraps函数,实现简单的方法拦截机制,来实现自己的PerformanceCountCallHandler,具体实现:#-*- coding: UTF-8 -*-#---- 阅读全文

posted @ 2012-12-22 14:31 |残阳|露 阅读(344) 评论(0) 推荐(0) 编辑

1 2 下一页

导航