2017-01-30 55 views
-1

这是我的应用程序的入口点。我该如何别名模块变量?

from clsConfiguration import clsConfiguration 
import also_reads_settings_file 
import settings 

def main(): 
    settings.config = clsConfiguration() 
    print settings.config.name_prefix 
    also_reads_settings_file.main() 

if __name__ == '__main__': 
    try: 
     main() 
    except: 
     print "bad stuff happened..." 

此时,设置模块是一条线,并存储配置对象:

config = "" 

的配置类,没有20个左右的变量:

class clsConfiguration: 

    def __init__(self): 

     self.name_prefix = "ou3_" 
     self.app_short_name = "XYZ" 

这里的模块,其使用设置模块而不初始化它(在主模块中完成):

import settings 

def main(): 

    print settings.config.app_short_name 

if __name__ == '__main__': 
    try: 
     main() 
    except: 
     print "bad stuff happened..." 

基于以上所述,如何为settings.config创建别名?在上面,我发现从配置对象中检索值的唯一方法是使用完全限定名称settings.config.app_short_name。例如,如果我可以将模块和变量名称别名为XYZ,它会容易/更好。我之后的房产成为xyz.app_short_name而不是settings.config.app_short_name。其中一部分是我不想处理更长的名称,但我也想避免重构旧代码以使用更长的名称。

+3

我知道这是示例代码,但请请删除那些毫无意义的除了块。从python获取实际的错误和回溯比无意义的评论更有用。 –

回答

0
from settings import config 

from settings import config as xyz 

这是什么意思?

+0

这不起作用,因为提问者正在重新分配'settings.config'。 – user2357112

+0

'将settings.config导入为xyz'导致'没有名为config的模块' – DenaliHardtail

+0

我的错误。我做了一个编辑 – denvaar