from binance.client import Client
from binance.websockets import BinanceSocketManager
class Binance_Data(Client):
def __init__(self, api_key, api_secret, requests_params=None, tld='us'):
super().__init__(api_key, api_secret, requests_params=None, tld='us')
def data_stream_test(self, data):
print('------------------')
print(f"Event Title: {data['e']}")
print(f"Closing Price: {data['c']}")
print(convert_unix_to_utc(data['E']))
print('------------------')
def data_stream(self):
ds = BinanceSocketManager(super())
conn_key = ds.start_symbol_ticker_socket('XLMUSDT', data_stream_test)
ds.start()
我有一个类,它继承了binance客户机来从其api读取数据。然后调用binancesocketmanager,它接收binance客户机的一个示例。但是,当我运行程序时,出现以下错误:
AttributeError: 'super' object has no attribute 'testnet'
但是当我打印的时候 super().__dict__
在获取属性的测试方法中,它将testnet显示为super的属性:
{...,'testnet': False, 'timestamp_offset': -8}
调用父方法(如 super().get_ticker()
,但是我在这里得到一个错误。
1条答案
按热度按时间f0ofjuux1#
super()
不返回类本身,而是返回一个代理来调用超类方法,在这里讨论。而不是
super()
尝试self
.