2016-11-08 83 views
0

我正在使用python boto package called mws來與亞馬遜MWS接口。但我認爲這也是一個普通的python問題,仍然不確定。我正在使用list_oder_items方法獲取訂單的產品項目。在python中獲取自定義對象的鍵值對

items = conn.list_order_items(AmazonOrderId = order_id) 
result = items.ListOrderItemsResult 

然後我會保存每個項目。

for item in result.OrderItems.OrderItem: 
    save_item_to_db(item) 

這裏item變量是一種<class 'boto.mws.response.OrderItem'>,其中,如果你把它打印出來顯示了這個:

OrderItem的{}(標題:u'title」, GiftWrapPrice:USD 0.00,ConditionNote: U'Brand New &正品 product ....',CODFee:無,ASIN:u'XXXX',訂單項號: u'XXXX',CODFeeDiscount:無,QuantityShipped:u'1', GiftWrapTax:USD 0.00, ShippingPrice:USD 3.99,QuantityOrdered:u'1', ItemTax:USD 0。 00,PromotionIds:[],SellerSKU: u'XXXX',ShippingDiscount:USD 0.00,ShippingTax:USD 0.00,ConditionId:u'New',PromotionDiscount:0.00美元,ItemPrice:USD 12.81,ConditionSubtypeId:u'New')

爲什麼我不能迭代鍵值對,如for key in item: print key?只是一個愚蠢的,但我也試過這個:for key in dict(item): print key。那也沒有打印任何東西。

我只想有一個比目視檢查更系統的方法來處理item對象。是否有可能把它變成一個普通的python字典?

回答

1

基本上你得到一個對象,並且你想要遍歷該對象的所有字段作爲key:value對。

您可以嘗試對象。 _dict_獲取對象的字典表示。

代碼例如:

for key in item.__dict__: 
    print key