【发布时间】:2021-12-28 11:12:44
【问题描述】:
我有一个函数可以制作不同的字典:
def get_dic():
dic = {}
for interval in intervals:
for symbol in symbols:
dic = {(symbol, interval, 'high'): [], (symbol, interval, 'low'): [], (symbol, interval, 'close'): []}
historical(dic)
Then I have a function that starts the ThreadedWebsocketManager.start_multiplex_socket like this:
twm = ThreadedWebsocketManager(api_key=api_key, api_secret=api_secret)
twm.start()
for interval in intervals:
streams = ['btcusdt@kline_' + interval, 'ethusdt@kline_' + interval]
twm.start_multiplex_socket(callback=add_new_data_values, streams=streams)
twm.join()
现在这个函数使用标准参数 msg 调用函数 add_new_data_values 但我想向它添加参数 dic 以便我可以使用从 get_dic 函数检索到的 dic,但是当我尝试这个时它给出了错误“add_new_data_values () 缺少 1 个必需的位置参数:'dic'"。:
def add_new_data_values(msg, dic):
candle = msg['data']['k']
所以我要问的是:如何将这个 dic 参数添加到函数中?我认为它必须与这条线做点什么,但我不知道如何改变它:
twm.start_multiplex_socket(callback=add_new_data_values, streams=streams)
【问题讨论】:
标签: python multithreading websocket arguments cryptocurrency