Ручной ввод модуля в функции python

Рейтинг: 1Ответов: 1Опубликовано: 17.07.2025

Библиотека CCXT. Подскажите пожалуйста как отвязать модули ccxt.bybit и ccxt.binance от переменных exchange1 и exchange2. И сделать так чтоб можно было вводить эти параметры вручную, к примеру через input(), и чтоб все при этом работало. Спасибо.

def check_cryptolink(exchange1, exchange2):
    # Тут при инициализации ccxt.bybit и ccxt.binance привязаны к переменным, как сделать чтоб значения этих переменных можно было вводить вручную, к примеру через input()
    exchange1 = ccxt.bybit()
    exchange2 = ccxt.binance()

    pair = input("Enter pair: ")
    exchange1_ticker = exchange1.fetch_ticker(pair)
    exchange2_ticker = exchange2.fetch_ticker(pair)

    if exchange1_ticker['last'] > exchange2_ticker['last']:
        percent = (exchange1_ticker['last'] - exchange2_ticker['last']) * 100 / exchange2_ticker['last']
        print(f'Link {pair}: {round(percent, 2)} %')
    else:
        percent = (exchange2_ticker['last'] - exchange1_ticker['last']) * 100 / exchange1_ticker['last']
        print(f'Link {pair}: {round(percent, 2)} %')

Ответы

▲ 3Принят

Пример сделан по образцу из официальной документации:

def check_cryptolink():
    pair = input('Enter pair: ')
    name1 = input('First stock exchange: ')
    name2 = input('Second stock exchange: ')

    exchange1 = getattr(ccxt, name1)()
    exchange2 = getattr(ccxt, name2)()

    exchange1_ticker = exchange1.fetch_ticker(pair)
    exchange2_ticker = exchange2.fetch_ticker(pair)

    if exchange1_ticker['last'] > exchange2_ticker['last']:
        percent = (exchange1_ticker['last'] - exchange2_ticker['last']) * 100 / exchange2_ticker['last']
        print(f'Link {pair}: {round(percent, 2)} %')
    else:
        percent = (exchange2_ticker['last'] - exchange1_ticker['last']) * 100 / exchange1_ticker['last']
        print(f'Link {pair}: {round(percent, 2)} %')