我们都被告知使用from module import *
是一个坏主意。但是,有没有办法使用通配符导入内容的子集?module
例如:
模块.py:
MODULE_VAR1 = "hello"
MODULE_VAR2 = "world"
MODULE_VAR3 = "The"
MODULE_VAR4 = "quick"
MODULE_VAR5 = "brown"
...
MODULE_VAR10 = "lazy"
MODULE_VAR11 = "dog!"
MODULE_VAR12 = "Now"
MODULE_VAR13 = "is"
...
MODULE_VAR98 = "Thats"
MODULE_VAR99 = "all"
MODULE_VAR100 = "folks!"
def abs():
print "Absolutely useful function: %s" % MODULE_VAR1
显然我们不想使用from module import *
,因为我们将覆盖该abs
函数。但是假设我们确实希望所有MODULE_VAR*
变量都可以在本地访问。
简单地说from module import MODULE_VAR*
是行不通的。有没有办法做到这一点?
我使用 100 个变量作为说明,因为这样做from module import MODULE_VAR1, MODULE_VAR2, MODULE_VAR3, ..., MODULE_VAR100
显然会非常笨拙,并且如果添加更多变量(例如MODULE_VAR101
)将无法工作。