簡體   English   中英

無法訪問Python中的特定屬性

[英]Trouble accessing a specific property in Python

模塊: https//github.com/yanagisawa-kentaro-777/pybitmex/blob/master/pybitmex/bitmex.py

我正在使用ws_open_order_objects_of_account()並使用它,我可以訪問:

open_orders = bitmex.ws_open_order_objects_of_account()
for open_bid in open_orders.bids:
    print(open_bid.price)

但我想要open_bid.orderID ,我嘗試過open_bid['orderID'] ,這是不可訂閱的。 我在閱讀它只返回價格的功能嗎?

遇到這樣的情況時,我建議您使用Python內省工具(如dir(open_bid)type(open_bid)來查找您正在查看的內容!

基於對源代碼的快速閱讀,我懷疑你正在查看一個實例

class OpenOrder:

    def __init__(self, order_id, client_order_id, side, quantity, price, timestamp):
        self.order_id = order_id
        self.client_order_id = client_order_id
        self.side = side
        self.quantity = quantity
        self.price = price
        self.timestamp = timestamp

    def __str__(self):
        return "Side: {}; Quantity: {:d}; Price: {:.1f}; OrderID: {}; ClOrdID: {}; Timestamp: {}; ".format(
            self.side, self.quantity, self.price, self.order_id, self.client_order_id,
            self.timestamp.strftime("%Y%m%d_%H%M%S")
        )

所以你可能想要open_bid.order_id

https://github.com/yanagisawa-kentaro-777/pybitmex/blob/08e6c4e7ae7bbadd5208ec01fd8d361c3a0ce992/pybitmex/models.py#L33

有關如何反省Python中發生的事情的更多信息:

查看函數的文檔字符串:

        """
        [{'orderID': '57180f5f-d16a-62d6-ff8d-d1430637a8d9',
        'clOrdID': '', 'clOrdLinkID': '',
        'account': XXXXX, 'symbol': 'XBTUSD', 'side': 'Sell',
        'simpleOrderQty': None,
        'orderQty': 30, 'price': 3968,
        'displayQty': None, 'stopPx': None, 'pegOffsetValue': None,
        'pegPriceType': '', 'currency': 'USD', 'settlCurrency': 'XBt',
        'ordType': 'Limit', 'timeInForce': 'GoodTillCancel',
        'execInst': 'ParticipateDoNotInitiate', 'contingencyType': '',
        'exDestination': 'XBME', 'ordStatus': 'New', 'triggered': '',
        'workingIndicator': True, 'ordRejReason': '', 'simpleLeavesQty': None,
        'leavesQty': 30, 'simpleCumQty': None, 'cumQty': 0, 'avgPx': None,
        'multiLegReportingType': 'SingleSecurity', 'text': 'Submission from www.bitmex.com',
        'transactTime': '2019-03-25T07:10:34.290Z', 'timestamp': '2019-03-25T07:10:34.290Z'}]
        """

這表明它返回了一個字典列表,而不是一個對象。 您無需訪問bids屬性。

open_orders = bitmex.ws_open_order_objects_of_account()
for order in open_orders:
    print(order['price'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM