【发布时间】:2016-11-01 22:32:15
【问题描述】:
我正在尝试获取描述实例调用的特定值。例如,如果我想从输出中获取“Hypervisor”值或 Ebs 具有“DeleteOnTermintation”值。下面是我当前用于调用和遍历字典输出的当前代码。
import boto3
import pprint
from datetime import datetime
import json
client = boto3.client('ec2')
filters = [{
'Name': 'tag:Name',
'Values': ['*']
}]
class DatetimeEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%dT%H:%M:%SZ')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
# Let the base class default method raise the TypeError
return json.JSONEncoder.default(self, obj)
output = json.dumps((client.describe_instances(Filters=filters)), cls=DatetimeEncoder)
pprint.pprint(output)
for v in output:
print v['Hypervisor']
收到此错误:
TypeError: string indices must be integers, not str
使用 pprint 查看输出中的所有可用值。
【问题讨论】:
标签: python amazon-ec2 boto3