개체의 값을 인쇄하지만 목록에 정의 된 값만 인쇄하는 함수를 작성하려고합니다.
import boto.ec2.cloudwatch
conn = boto.ec2.cloudwatch.connect_to_region('ap-southeast-1')
alarms = conn.describe_alarms()
for alarm in alarms:
print alarm.name
이것은 모든 알람에 대한 특정 값을 반환합니다. 목록에 정의 된 모든 값을 인쇄 할 수있는 방식으로 작동하게 만들고 싶습니다. 내가하려는 것은 다음과 같습니다.
import boto.ec2.cloudwatch
conn = boto.ec2.cloudwatch.connect_to_region('ap-southeast-1')
alarms = conn.describe_alarms()
whitelist = ["name", "metric", "namespace"]
for alarm in alarms:
print alarm.whitelist[0]
그러나 이것은 물론 작동하지 않습니다. 이를 수행하는 가장 좋은 방법에 대한 제안이 있습니까? 그래서 화이트리스트에 정의 된 모든 것을 인쇄 할 수 있습니다.
다음을 사용할 수 있습니다 getattr
( 함수가 아닌 속성 또는 메서드를 참조하고 있음에 유의하십시오 ).
for alarm in alarms:
for attr in whitelist:
print getattr(alarm, attr)
getattr
선택적인 세 번째 인수를 취합니다. 기본값 attr
은 찾을 수없는 경우를 대비 하므로 다음과 같이 할 수 있습니다.
for attr in whitelist:
print "{0}: {1}".format(attr, getattr(alarm, attr, "<Not defined>"))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다