随笔分类 -  python

python通过hwnd获得IWebBrowser2(原创)
摘要:项目中用到了查找已打开的ie窗口,通过的解决方法是用ShellWindows,测试了一下该方法获得的ie窗口不全。后来想到了通过hwnd来获取,在C++、Delphi等工具中都没有问题,但python总是失败,看了官方的邮件列表也没有解决方案。后来从官方的demo中找到灵感,在这里讲该函数分享下:SID_STopLevelBrowser = IID('{4C96BE40-915C-11CF-99D3-00AA004AE837}')SID_SWebBrowserApp = IID('{0002DF05-0000-0000-C000-000000000046}')I 阅读全文
posted @ 2013-04-27 12:02 一个人的天空@ 阅读(2062) 评论(0) 推荐(0) 编辑
Wing IDE 中文显示方法
摘要:中文乱码解决:找到安装目录,在 "bin\gtk-bin\etc\pango" , 打开" pango.aliases" ,将引号内的文字修改为:microsoft yahei.即可.如下:courier = "simsun"sans = "simsun"serif = "simsun"monospace = "simsun" 阅读全文
posted @ 2013-04-17 14:08 一个人的天空@ 阅读(1820) 评论(0) 推荐(0) 编辑
Python字符集编码和文件读写 [转]
摘要:python中默认编码是ASCII,可以通过以下方式设置和获取:importsysprintsys.getdefaultencoding()sys.setdefaultencoding('gbk')但直到python重新启动后新的默认编码才会生效,我试了一下,setdefaultencoding总是会出错,没有这个属性。用dir看,确实没有,python版本是2.5,不知道是否被取消了。使用print来输出时,python将内容传递给系统处理,windows会按照系统默认编码来输出。如果包含了中文,就要注意几点。1 python代码文件的编码py文件默认是ASCII编码,中文在 阅读全文
posted @ 2013-04-16 12:24 一个人的天空@ 阅读(309) 评论(0) 推荐(0) 编辑
python操作Excel读写--使用xlrd(转)
摘要:一、安装xlrd模块到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。二、使用介绍 1、导入模块import xlrd 2、打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls') 3、使用技巧获取一个工作表 table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取 table = data.sheet_by_name(u'Sheet1' 阅读全文
posted @ 2013-04-15 09:34 一个人的天空@ 阅读(366) 评论(0) 推荐(0) 编辑
Python使用win32gui.SetWindowPos置顶窗口(转)
摘要:1. SetWindowPos() API函数介绍SetWindowPos 函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序。子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序、顶层窗口设置的级别最高,并且被设置为Z序的第一个窗口。 函数原型:BOOL SetWindowPos(HWN hWnd,HWND hWndlnsertAfter,int X,int Y,int cx,int cy,UNIT.Flags); 参数: hWnd:窗口句柄。 hWndlnsertAfter:在z序中的位于被置位的窗口前的窗口句柄。该参数必须为一个窗口句柄,或下列值之一... 阅读全文
posted @ 2013-04-09 14:24 一个人的天空@ 阅读(30586) 评论(0) 推荐(0) 编辑
python读取注册表值(转)
摘要:本文转自:http://hi.baidu.com/julabs/blog/item/4f62fd06d284cf7f020881e5.html转自:http://tenyears.cn/使用Python访问Windows的注册表在Python的标准库中,_winreg.pyd可以操作Windows的注册表,另外第三方的win32库封装了大量的Windows API,使用起来也很方便。不过这里介绍的是使用_winreg操作注册表,毕竟是Python自带的标准库,无需安装第三方库。下面的例子是通过Python获取Windows XP下已经安装的补丁号。Windows的补丁号都在“HKEY_LOCA 阅读全文
posted @ 2013-04-08 12:08 一个人的天空@ 阅读(3766) 评论(0) 推荐(0) 编辑
python Property属性用法(转)
摘要:假设定义了一个类:C,该类必须继承自object类,有一私有变量_xclass C: def __init__(self): self.__x=None 1.现在介绍第一种使用属性的方法: 在该类中定义三个函数,分别用作赋值、取值和删除变量(此处表达也许不很清晰,请看示例) def getx(self): return self.__x def setx(self,value): self.__x=value def delx(self): del self.__x x=property(getx,setx,delx,'')property函数原型为property(fget= 阅读全文
posted @ 2013-04-07 19:36 一个人的天空@ 阅读(5864) 评论(1) 推荐(0) 编辑
python url格式解析(转)
摘要:from urlparse import urlparseurl_str = "http://www.163.com/mail/index.htm"url = urlparse(url_str)print 'protocol:',url.schemeprint 'hostname:',url.hostnameprint 'port:',url.portprint 'path:',url.pathi = len(url.path) - 1while i > 0: if url.path[i] == ' 阅读全文
posted @ 2013-04-07 18:37 一个人的天空@ 阅读(14855) 评论(0) 推荐(0) 编辑
使用Python进行二进制文件读写(转)
摘要:总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块。python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。import structa=12.34#将a变为二进制bytes=struct.pack('i',a)此时bytes就是一个string字符串,字符串按字节同a的二进制存储内容相同。再进行反操作现有二进制数据bytes,(其实就是字符串),将它反过来转换成python的数据类型:a,=struct.unpack('i 阅读全文
posted @ 2013-04-07 11:08 一个人的天空@ 阅读(88483) 评论(0) 推荐(0) 编辑
WinPcap过滤串表达式的语法
摘要:注意:这篇文档取自tcpdump的指南。原始的版本www.tcpdump.org找到。wpcap的过滤器是以已声明的谓词语法为基础的。过滤器是一个ASCII字符串,它包含了一个过滤表达式。pcap_compile()把这个表达式编译成内核级的包过滤器。这个表达式会选择那些数据包将会被堆存。如果表达式没有给出,那么,网络上所有的包都会被内核过滤引擎所认可。不然,只有那些表达式为'true'的包才会被认可。这个表达式包含了一个或多个原语。原语通常包含了id(名字或序列),这些id优先于限定词。以下是三种不同的限定词:输入(type)指明了哪些东西是id所代表的。可能的输入是host 阅读全文
posted @ 2013-04-03 17:22 一个人的天空@ 阅读(909) 评论(0) 推荐(0) 编辑
Python网络抓包库 pypcap , 解包 dpkt (转)
摘要:http://www.oschina.net/p/pypcapEthereal 自带许多协议的 decoder,简单,易用,基于winpcap的一个开源的软件.但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改 Ethereal的代码,再重新编译,很烦琐.对于一般的明文 协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进行加密,如此. 要想破解,得要有一个可编程的抓包器.libpcap是一个不错的选择,但是对于抓包这样需要反复进行”试 验->修改”这个过程的操作,c 语言显然不是明智的选择.P 阅读全文
posted @ 2013-04-03 11:39 一个人的天空@ 阅读(32618) 评论(0) 推荐(0) 编辑
python 抓包(转)
摘要:import pcap, dpkt, structimport binasciidef main(): a = pcap.pcap() a.setfilter('udp portrange 4000-4050') try: for i,pdata in a: p=dpkt.ethernet.Ethernet(pdata) src='%d.%d.%d.%d' % tuple(map(ord,list(p.data.src))) dst='%d.%d.%d.%d' % tuple(map(ord,li... 阅读全文
posted @ 2013-04-03 11:38 一个人的天空@ 阅读(2922) 评论(0) 推荐(0) 编辑
整理了下控制ie的代码(转)
摘要:整理了下,比如叫做 ie.py : # -*- coding:utf-8 -*-import timefrom win32com.client import DispatchEx def ExistIE(url): ShellWindowsCLSID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}' ies=DispatchEx(ShellWindowsCLSID) if len(ies)==0: return None for ie in ies: if ie.LocationURL==url: ... 阅读全文
posted @ 2013-04-01 17:30 一个人的天空@ 阅读(368) 评论(0) 推荐(0) 编辑
python技巧31[python中使用enum](转)
摘要:以下几种方法来模拟enum:(感觉方法一简单实用)#way1classDirections:up=0down=1left=2right=3printDirections.down#way2dirUp,dirDown,dirLeft,dirRight=range(4)printdirDown#way3importcollectionsdircoll=collections.namedtuple('directions',('UP','DOWN','LEFT','RIGHT'))directions=dircoll(0 阅读全文
posted @ 2013-04-01 14:05 一个人的天空@ 阅读(314) 评论(0) 推荐(0) 编辑
python之sqlite3使用详解(转)
摘要:Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上都是下面几步(假设数据库模块名为db):1. 用db.connect创建数据库连接,假设连接对象为conn2 阅读全文
posted @ 2013-04-01 13:48 一个人的天空@ 阅读(33830) 评论(0) 推荐(0) 编辑
httplib2---python下的http请求终结者(转)
摘要:httplib2功能介绍:http://code.google.com/p/httplib2/httplib2实例页面:http://code.google.com/p/httplib2/w/listhttplib2问题提交:http://code.google.com/p/httplib2/issues/list好吧,我觉得官方的样例还是比较全的,这里就直接贴一下吧。Simple Retrieval[python] view plaincopyimporthttplib2h=httplib2.Http(".cache")resp,content=h.request(&qu 阅读全文
posted @ 2013-04-01 12:21 一个人的天空@ 阅读(24635) 评论(0) 推荐(0) 编辑
python--httplib模块使用(转)
摘要:httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第三方模块,但是封装的越高就越不灵活,比如urllib模块里请求错误时就不会返回结果页的内容,只有头信息,对于某些需要检测错误请求返回值的场景就不适用,所以就得用这个模块了。1、class httplib.HTTPConnection说明:该类用于创建一个http类型的请求链接原型:HTTPConnection(host[, port[, strict[, timeout]]])host: 请求的服务器host,不能带http://开头port: 服务器web服务端口strict: 是否严格 阅读全文
posted @ 2013-04-01 12:18 一个人的天空@ 阅读(19361) 评论(1) 推荐(0) 编辑
Python:使用ctypes库调用外部DLL(转)
摘要:前言朋友的公司是做GPS的,上周联系到我要帮做个程序把他们平台的车辆定位跟踪数据和省里的平台对接。看一下官方提供的三个文档,洋洋洒洒共一百多页,一大堆协议的定义甚是齐全,好在官方的文件中也带有个封装好通信功能的DLL和一个调用此接口的c++ DEMO程序,既然有现成的可用,那就不必去看他的协议了。说实话,参加工作之后就基本没用过c++,生疏了。特别是要用c++操作数据库,对我来说比割几刀还要痛苦。官方的API中已经很详尽,要做的就是从现有平台的数据库中获取车辆定位信息,通过官方的API发送到省中心平台。本想用C#给官方API做个包装,省得再去动用C++,可是看到此API中定义有几个Struct 阅读全文
posted @ 2013-03-29 18:33 一个人的天空@ 阅读(9829) 评论(0) 推荐(1) 编辑
python 操作ie 登陆土豆再退出
摘要:# -*- coding: utf-8 -*-#by:pako#email:zealzpc@gmail.comimport win32com.client import time ie6=win32com.client.Dispatch("InternetExplorer.Application") ie6.Navigate("http://www.tudou.com/") ie6.Visible=1 while ie6.Busy: time.sleep(1) document=ie6.Document document.getElementById(& 阅读全文
posted @ 2013-03-28 17:38 一个人的天空@ 阅读(295) 评论(0) 推荐(0) 编辑
python glob model(转)
摘要:说明:1、glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作,*,?,[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。它的主要方法就是glob,该方法返回所有匹配的文件路径列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。比如:glob.glob(r'c:\*.txt')我这里就是获得C盘下的所有txt文件glob.glob(r' 阅读全文
posted @ 2013-03-28 17:35 一个人的天空@ 阅读(777) 评论(0) 推荐(0) 编辑