Как запустить несколько функций и создать список? - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в Python и у меня есть список криптообменников, которые я хотел бы подключить к библиотеке ccxt для получения данных OHLC.

Но вместо того, чтобы создавать экземпляры каждого класса обмена один за другим (много объектов), я хотел бы создать объект exchanges, содержащий все данные обмена в списке, чтобы я мог запросить данные первого обмена с помощью exchanges[0], данные со второго с exchanges[1] и т. д.

import ccxt # import module

ex_bitfinex = ccxt.bitfinex()
ex_binance = ccxt.binance()
ex_okcoinusd = ccxt.okcoinusd()
...

ex = ["bitfinex",
      "binance",
      "okcoinusd"]

# This doesn't return the expected result
exchanges = ccxt.ex()

С я бы использовал lapply(), но как мне добиться этого в Python?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Просто используйте getattr(...) и список комп.

exchanges = [getattr(ccxt, e)() for e in ex] 

Затем вы можете получить доступ ко всем трем биржам по индексу.

0 голосов
/ 04 мая 2018

Что не так с

exchanges = [ccxt.bitfinex(), ccxt.binance(), ccxt.okcoinusd()]
...