此代码:
open_trades = ib.trades() #Interactive Brokers function
for i in range(0,len(open_trades)):
print(open_trades[i].orderStatus
打印OrderStatus(status ='Submitted',其余= 1000.0, permId = 1036207528,clientId = 1)
现在如何获取 permID ?
答案应该看起来像这样(我也尝试了许多其他事情):
open_trades[i].orderStatus.permID #no attribute error
open_trades[i].orderStatus.OrderStatus.permID #no attribute error
open_trades[i].orderStatus[0].permID #gets error 'OrderStatus' object does not support indexing
最后一次尝试最有可能是得到错误的最接近答案:
'OrderStatus'对象不支持索引
答案 0 :(得分:1)
您正在苦苦挣扎的问题与Python中对象的__str__
实现有关(请参见this question)。
对象可以实现自定义__str__
方法,因此可以打印对象的字符串表示形式。但是,这可能会造成混淆,因为它不一定对应于对象的结构(及其属性)。
不知道使用什么库(MCVE会很方便),我建议检查调试器下可用的方法和对象变量,然后使用它们访问所需的属性。