以下代码:
client = MongoClient()
data_base = client.hkpr_restore
collection_list = ['agents', 'email_logs', 'property', 'user']
print data_base.agents.count()
print data_base.email_logs.count()
print data_base.property.count()
print data_base.user.count()
for x in collection_list:
print data_base.x.count()
打印以下内容:
Begin Main
6622
32067
4168
18066
0
0
0
0
End Main
为什么循环不起作用?
答案 0 :(得分:0)
你不能那样使用变量。每次都会在data_base
上获取名为x
的属性 - 与循环的x
变量无关。相反,您需要使用getattr
:
for x in collection_list:
print getattr(data_base, x).count()
getattr
允许您动态引用属性名称存储在变量中的属性,直到运行时才知道该变量。