当前位置:
首页 > Python基础教程 >
-
Python 常用笔记(3)
if main_window.get_show_state() != 3:
main_window.maximize()
main_window.set_focus()
def winmin(): #窗口最小化
if main_window.GetShowState() != 2:
main_window.Minimize()
def closepopup(): #关闭弹窗
popup_hwnd = main_window.PopupWindow()
if popup_hwnd:
popup_window = app.window_(handle=popup_hwnd)
popup_window.SetFocus()
popup_window.Button.Click()
return True
return False
def pos(): #获取持仓并刷新复制到剪切板
dialog_window.CCustomTabCtrl.ClickInput(coords=(30, 8)) #点击持仓
dialog_window.Button5.click()
time.sleep(0.5)
dialog_window.Button5.click()
# time.sleep(0.2)
# dialog_window.CVirtualGridCtrl.RightClick(coords=(100, 70)) # 右击持仓
# main_window.TypeKeys('C') #如果能复制了 就把这些打开
def copypos(): #获取剪切板信息
wincb.OpenClipboard()
t = wincb.GetClipboardData(win32con.CF_TEXT)
wincb.CloseClipboard()
return t
def copyposition(): #导出持仓并读取
dialog_window.CVirtualGridCtrl.RightClick(coords=(100, 70)) # 右击持仓
main_window.TypeKeys('S')
time.sleep(0.1)
closepopup()
closepopup()
with open('C:/Users/Administrator/Desktop/table.xls','r') as f:
return [[i.split('\t')[1],i.split('\t')[3],i.split('\t')[4]] for i in f.readlines()[1:]]
def order(x): #B是买 S是卖 开始下单
dialog_window.TypeKeys("{F6}")
if x == 'B':
for i in Blis:
# dialog_window.window(title_re='重填').click()
time.sleep(0.1)
dialog_window.Edit1.set_focus()
dialog_window.Edit1.set_edit_text(i[0])
dialog_window.Edit3.set_edit_text(i[1])
time.sleep(0.2)
dialog_window.Button1.click()
if x == 'S':
for i in Slis:
time.sleep(0.1)
dialog_window.Edit4.set_focus()
dialog_window.Edit4.set_edit_text(i[0])
dialog_window.Edit6.set_edit_text(i[1])
time.sleep(0.2)
dialog_window.Button2.click()
def cancel(x): #撤单 B:撤买 S:撤卖 all:全撤
dialog_window.CCustomTabCtrl.ClickInput(coords=(140, 8)) #点击委托
try:
dialog_window.Button6.Click()
time.sleep(0.1)
dialog_window.Button6.Click()
except Exception as e:
pass
if x == 'B':
dialog_window.Button8.Click()
if x == 'S':
dialog_window.Button9.Click()
if x == 'all':
dialog_window.Button7.Click()
time.sleep(0.1)
closepopup()
def BSlist(x): #返回买卖剩余量 B是买 S是卖
global Blis
global Slis
pos() #可以复制了就打开old
# old = [[i.split('\t')[1],i.split('\t')[3],i.split('\t')[4]] for i in copypos().decode("gb2312").split('\r\n')[1:]]
old = copyposition()
new = [[i[0],'0'] for i in Slis if int(i[1]) > 0 ]+Blis
if x == 'B':
B1 = [[v[0],str(int(i[1])-int(v[1]))] for i in [i for i in new if i[1] != '0'] for v in old if i[0] == v[0]]
B2 = [[k,v] for k,v in dict([i for i in new if i[1] != '0']).items() if k not in dict(B1).keys()]
Blis = [i for i in B1 if i[1] != '0']+B2
return Blis
if x == 'S':
Slis = [[i[0],i[2]] for i in old for v in [i for i in new if i[1] == '0'] if i[0] == v[0] and i[2] != '0']
return Slis
if __name__ == '__main__':
files = [i for i in os.listdir('D:/abdata/csv/') if 'cod' in i]
Blis = []
Slis = []
with open('D:/abdata/csv/'+sorted(files)[-1],'r',encoding='utf-8') as f:
for i in f:
i = i.strip().split(',')
if i[4] == '0' and int(i[2]) >0:Blis.append([i[0],i[2]])
if i[4] == '1' and int(i[2]) >0:Slis.append([i[0],i[2]])
'''
order(x): # 需要传参 B是买 S是卖
cancel(x): # 撤单 B:撤买 S:撤卖 all:全撤
BSlist(x): # 返回买卖剩余量 B是买 S是卖
winmax(): # 窗口最大化 winmin(): # 窗口最小化
pos(): # 获取持仓并刷新复制到剪切板 copypos(): # 获取剪切板信息
closepopup(): #关闭弹窗 copyposition(): #导出持仓并读取
'''
title = '网上股票交易系统5.0'
app = pywinauto.application.Application()
app.connect(title=title)
top_hwnd = pywinauto.findwindows.find_window(title=title)
dialog_hwnd = pywinauto.findwindows.find_windows(top_level_only=False, class_name=u'#32770', parent=top_hwnd)[0]
wanted_hwnds = pywinauto.findwindows.find_windows(top_level_only=False, parent=dialog_hwnd)
main_window = app.window(handle=top_hwnd)
dialog_window = app.window(handle=dialog_hwnd)
winmax() #窗口最大
# pos() #获取复制持仓
# old = [[i.split('\t')[1],i.split('\t')[3]] for i in copypos().decode("gb2312").split('\r\n')[1:]]
# new = [[i[0],'0'] for i in Slis if int(i[1]) > 0 ]+Blis
B = 1
S = 1
while S > 0 :
closepopup()
time.sleep(0.5)
# pos() #获取复制持仓
Slis = BSlist('S')
S = len(Slis)
if S > 0:
closepopup()
order('S')
closepopup()
time.sleep(2)
cancel('all')
time.sleep(2)
while B > 0 :
time.sleep(0.5)
closepopup()
# pos() #获取复制持仓
Blis = BSlist('B')
B = len(Blis)
if B > 0:
closepopup()
order('B')
closepopup()
time.sleep(2)
cancel('all')
time.sleep(2)
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式