使用 tushare库,他有个函数可以读取所有日期是否开市,返回值为dataframe型

import tushare as ts
ts.trade_cal()

isOpen为1就是开市。

全部源码如下:

import tushare as ts
import datetime
import time
def JiaoYiRiQi():
    while True:
        DatetimeNOW = datetime.datetime.now().strftime('%Y-%m-%d')
        OpenList = ts.trade_cal()
        OpentimeList = OpenList.isOpen[OpenList.calendarDate == DatetimeNOW]
        if OpentimeList.values[0] == 1:
            XianZaiShiJian = datetime.datetime.now().strftime('%H%M%S')
            if 93000 < int(XianZaiShiJian) < 150000:
                break
            else:
                pass
        else:
            pass
        time.sleep(60)

如果在交易时间内就跳出循环不再的话就等60秒会再次执行。