在config.py中提供全局配置变量的最Pythonic方法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3个月前关闭。 改善这个问题 在我对过度复杂的简单事物的无尽追求中,我正在研究最“ Pythonic”的方法来在Python egg包中的典型“ config.py ”中提供全局配置变量。 传统方式(啊,好吧,# define!)如下: MYSQL_PORT = 3306 MYSQL_DATABASE = 'mydb' MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups'] 因此,以下列方式之一导入全局变量: from config import * dbname = MYSQL_DATABASE for table in MYSQL_DATABASE_TABLES: print table 要么: import config dbname = config.MYSQL_DATABASE assert(isinstance(config.MYSQL_PORT, int)) 这是有道理的,但有时可能会有些混乱,尤其是在您要记住某些变量的名称时。此外,提供一个以变量为属性的“配置”对象可能更灵活。因此,从bpython config.py文件开始,我想到了: class Struct(object): def __init__(self, *args): …