1 根据窗口标题,获取窗口句柄
注:股票交易界面,要提取两个句柄,登陆窗口和登陆后窗口
import ctypes op=ctypes.windll.user32 print (op.FindWindowW(0, "网上股票交易系统5.0"))
2匿名函数
add=lambda x,y:abs(x+y)
print (add(1,2))
3 Python 运行其他程序
import os
os.popen(u”C:\\htzqzyb2\\xiadan.exe”)
4 GetDlgItem(窗口句柄,控件id)
根据窗口句柄和控件ID获取控件句柄,有了控件句柄就可以修改控件内容
self.members_login = {k: op.GetDlgItem(self.loghandle, v) for k, v in TWO_WAY_L.items()}
//遍历字典内容,获取key所对应的控件句柄 two_way_l中存储了一个窗口内所有句柄的控件ID
5 buff=ctypes.create_unicode_buffer(32)
申请内存大小
可以输出:
print (buff.value)
6 reduce函数
语法
reduce() 函数语法:
reduce(function, iterable[, initializer])
参数
function — 函数,有两个参数
iterable — 可迭代对象
initializer — 可选,初始参数
返回值
返回函数计算结果。
例子:
from functools import reduce
def add(x,y):
return x + y
print (reduce(add, range(1, 101)))
print (reduce(add, [1,2,3,4,5])) # 计算列表和:1+2+3+4+5
详解:
def f(x, y):
return x + y
调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:
先计算头两个元素:f(1, 3),结果为4;
再把结果和第3个元素计算:f(4, 5),结果为9;
再把结果和第4个元素计算:f(9, 7),结果为16;
再把结果和第5个元素计算:f(16, 9),结果为25;
由于没有更多的元素了,计算结束,返回结果25。
上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。
reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:
reduce(f, [1, 3, 5, 7, 9], 100)
结果将变为125,因为第一轮计算是:
计算初始值和第一个元素:f(100, 1),结果为101。
7 op.SendMessageW(self.account, MSG[‘WM_GETTEXT’], 32, self.buff)
获取控件的值,向控件发送消息,消息类型为13 MSG[‘WM_GETTEXT’]
MSG = {‘WM_SETTEXT’: 12,
‘WM_GETTEXT’: 13,
‘WM_KEYDOWN’: 256,
‘WM_KEYUP’: 257,
‘WM_COMMAND’: 273}
8 python 的日志函数
Recent Comments