模拟键盘输入将自选股导入到交易师
问题产生的背景:某人的自选股池传给他人后,发现里面有大量的可转债,这个需要剔除,所以不能使用监控剪切板的模式。
如下做了一个简单程序,主要问题不是程序,而是安装PyAutoGUI出现依赖程序有编码的错误
pip install PyGetWindow
目前是有GBK编码问题的,所以download源码包,修改setup.py
import re
from setuptools import setup, find_packages
# Load version from module (without loading the whole module)
with open('src/pygetwindow/__init__.py', 'r') as fd:
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]',
fd.read(), re.MULTILINE).group(1)
#主要是如下加了utf-8编码,目前还没出现问题
# Read in the README.md for the long description.
with open("README.md", "r", encoding="utf-8") as fh:
long_description = fh.read()
pip install -e 解压后的源码包目录
但如此安装pip list 命令就会返回带src的目录名
重新压缩成PyGetWindow-0.0.4.tar.gz,虽然也是目录名,至少没有src那种奇怪的感觉。
pip install PyGetWindow-0.0.4.tar.gz
PyGetWindowa安装完毕后,即可安装PyAutoGUI
pip install PyAutoGUI
# -*-coding: UTF-8 -*-
'''
Created on 2019年5月7日
@author: Edwin
'''
#===============================================================================
# 自选股从其它券商软件导入到交易师中,往往掺杂可转债,如果使用剪切板监控还要做一次清除,
# 目前只做一次简单的数据降噪
#===============================================================================
import re
import pyautogui
pyautogui.moveTo(1600, 800)
pyautogui.click()
pattern = r'((00|30|60)[\d]{4})'
filename = 'D:/Temp/zxg.txt'
with open(filename, 'r') as zxgfile:
num = 0
while True:
str_temp = zxgfile.readline()
zxg_code = re.search(pattern, str_temp)
if zxg_code is not None:
num += 1
# 在每次输入之间暂停0.05秒,如果太快交易师可能反应不及时导致错失自选股
pyautogui.typewrite(zxg_code.group(), interval=0.05)
# 按回车键即完成一次模拟输入,自选股代码即可加入到交易师
pyautogui.press('enter')
else:
break
print("一共导入自选股条目为:"+str(num))
将交易师打开,至于前端,运行程序。