【问题标题】:Add second argument to ThreadedWebsocketManager function向 ThreadedWebsocketManager 函数添加第二个参数
【发布时间】: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


    【解决方案1】:

    你可以使用partial from functools

    你的情况partial(add_new_data_values, dic=your_parameter)

    您可以在answer 中查找另一个示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 2014-06-03
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多