摘要:由于工作需要使用python下面的Qt库。PyQt现在只提供针对Python3.X系列的PyQt,所有需要自己手动编译。防止忘记,特意写下随笔记录备忘。 工 作 环境:Python版本:Python2.7 x64 版本, win10 64位系统 需求Qt版本:Qt5.8 编译过程如下: 1. 下载Q
阅读全文
摘要:1. 下载群联量产工作MPALL v3.63.0D for Netac2. 在Setting页面,选择如下(红色矩形选中):3. 然后执行量产,量产完成后,重新插拔就能看到U盘。
阅读全文
摘要:def DeleteObjectAllProperties(objectInstance): if not objectInstance: return listPro =[key for key in objectInstance.__dict__.keys()] for key in listPro: objectInstance.__delattr__(key)
阅读全文
摘要:使用sys.excepthook函数进行全局异常的获取。1. 使用MessageDialog实现异常显示;2. 使用logger把捕获的异常信息输出到日志中;步骤:定义异常处理函数, 并使用该函来替换掉系统的内置处理函数;对于threading.py的异常捕获,需要对该文件进行一些改变:如下:try: self.run() except SystemExit: if __debug__: self._note("%s.__bootstrap(): raised SystemE...
阅读全文
摘要:通过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
阅读全文
摘要:SimpleXMLRPCServer模块式python语言的一个基于 xml 格式的进程间通信的基础框架。SimpleXMLRPCServer是一个单线程的服务器,这意味着,如果几个客户端同时发出多个请求,其它的请求就必须等待第一个请求完成以后才 能继续。此处也有一个解决方法。例子代码如下:创建一个server端主进程,并且利用一个线程开启一个server线程,并开启一个client进程作为child 进程。MyRemoteService包含三个serveice服务方法,我们测试Add方法,从server端返回计算结果。#-*- coding: UTF-8 -*-import wximport
阅读全文
摘要:通常情况下,python的gc 垃圾回收机制,有一套算法,可以用来回收循环引用的对象,避免内存泄露。不过,有个例外的情况:显示重写了__del__方法。此时gc就无法释放资源,因为循环引用导致了引用计数器不可能为0。需要打破这种循环引用关系,才能释放资源。这就催生了招到一种,能去找出我们的程序代码中,存在的循环引用的关系。 gc中gc.garbage记录了所有不可回收的垃圾。gc.get_referents方法可以用来获得所有引用到该对象的资源。代码如下:注意如下几点:1. 所有的class应该继承与object或者,都有一个共同的基类object,这也是一个好的设计习惯。在该检测循环引用方.
阅读全文
摘要:通常情况下,python的gc 垃圾回收机制,有一套算法,可以用来回收循环引用的对象,避免内存泄露。不过,有个例外的情况:显示重写了__del__方法。例子:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 28-03-2013# Copyright: (c) ankier 2013# Licence: ...
阅读全文
摘要:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 05-02-2013# Copyright: (c) ankier 2013# Licence: <your licence>#------------------------------------------------------------...
阅读全文
摘要:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: # Purpose: ## Author: ankier## Created: 05-02-2013# Copyright: (c) ankier 2013# Licence: <your licence>#------------------------------------------------------------...
阅读全文
摘要:python是解释型的语言,而Python解释器使用GIL(全局解 释器锁)来在内部禁止并行执行,正是这个GIL限制你在多核处理器上同一时间也只能执行一条字节码指令. python 3.0 里面已经改进, 默认有了多处理器编程的库了. Python2.XX暂时还不支持。Parallel Python 这个库,正是为次设计的, 而且它不仅可以多核处理器协同工作,还可以通过网络集群运行。http://www.parallelpython.com/下面的中文介绍来自这里:1. 简介PP 是一个Python模块,提供了在SMP(多CPU或多核)和集群(通过网络连接的多台计算机)上并行执行Python代
阅读全文
摘要:需求:系统中的每个操作流程,需要打印所有被执行到的方法的耗时。实现原理,利用python的元类型编程,动态改变class的创建过程,拦截class的方法,加上自定义的耗时记录。把记录导出到csv文件里面,方便对数据进行删选和排序。具体代码实现:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: performanceCountMeta# Purpose: 记录每个方法的时间消耗,帮助程序员方便的查找系统的性...
阅读全文
摘要: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确实,...
阅读全文
摘要: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...
阅读全文
摘要: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({"
阅读全文
摘要:原理:利用元类型,重新定义类实例化一个新对象的方法(__call__)行为。让其只返回同一个实例。#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: ģ��shell# Purpose: Ӧ�ó����main��ں���## Author: ankier## Created: 26-10-2012# Copyright: (c) ankier 2012# Licence: <...
阅读全文
摘要: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是创建
阅读全文
摘要:首先,需要对上面几篇介绍的2个callHandler (PerformanceCountCallHandler,CacheCallHandler)进行改写。代码如下:#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------# Name: 模块2# Purpose:## Author: ankier## Created: 22-12-2012# Copyright: (c) Ankier 2012# Licence...
阅读全文
摘要:Python的functools模块, 提供了3个有趣函数,partial,update_wrapper 和wraps 。partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象。update_wrapper函数,把被封装函数的__name__、__module__、__doc__和 __dict__都复制到封装函数去。wraps函数,对update_wrapper更进一步封装。可以利用wraps函数,实现简单的方法拦截机制,来实现自己的ExceptionCallHandler,具体实现:#-*- coding: UTF-8 -*-#-----------
阅读全文
摘要:Python的functools模块, 提供了3个有趣函数,partial,update_wrapper 和wraps 。partial函数,它可以重新绑定函数的可选参数,生成一个callable的partial对象。update_wrapper函数,把被封装函数的__name__、__module__、__doc__和 __dict__都复制到封装函数去。wraps函数,对update_wrapper更进一步封装。可以利用wraps函数,实现简单的方法拦截机制,来实现自己的PerformanceCountCallHandler,具体实现:#-*- coding: UTF-8 -*-#----
阅读全文