Python中有没有一种方法可以将模块中的变量编译成列表,而无需手动执行?

例如:

#catName.py
cat1 = "toby"
cat2 = "bill"
cat3 = "sally"
catList = [cat1,cat2,cat3]

#printCatNames.py
import catName
for names in catName.catList:
    print names


我要执行的操作(使用上面的示例)是在调用模块catList时自动填充catName。如果有人能指出我正确的方向,将不胜感激。

最佳答案

import  catName

n [3]: [v for k,v in catName.__dict__.items() if not k.startswith("__")]
Out[3]: ['toby', 'sally', 'bill']


我个人会坚持手动填写列表。

08-25 05:20