使用引用模块的变量



在我的项目中,我定义了 3 个 python 文件:

  1. variables.py(它有一些变量,其值将由用户填充(:

    VMD_name = "DEV56"
    VD_IP = "96.119.86.29"
    VD_username = "Administrator"
    VD_password = "nfV!Nads123Versa"
    
  2. helper.py(它有一些有用的函数,它需要 variables.py 中的变量,所以我导入了它。

    import variables
    def execute_job():
    print variables.VMD_name 
    
  3. creation.py: 需要访问 variables.py 的 helper.py 和变量的函数。由于 variable.py 已经在 helper.py 中导入,我认为我应该只导入 helper.py 而而这些又将具有变量。

    import helper
    

但是以下两种说法都不起作用。请让我知道我是否需要在 creation.py 再次导入 variables.py?不会是骗子吗?

print helper.VMD_name
print helper.variables.VMD_name

你可以这样做(creation.py(:

print helper.variables.VMD_name

这将起作用。

或者,将导入方式更改为 helper.py:

from variables import VMD_name

现在print helper.VMD_name将在 creation.py 工作。

为什么会这样工作?当你写import variables时,模块中的常量variableshelper.py可用,但你仍然需要在模块名称前面加上前缀才能访问它们(即在helper.py你应该写variables.VMD_name(。同样,在creation.pyimport helperhelper中的常量在creation中可用,但您应该再次在模块名称前面加上前缀。对于此常量,这意味着您应该在已经存在的variables.VMD_name前面附加helper

另一方面,如果使用from variables import VMD_name导入,则常量在帮助程序中没有模块限定符即可使用。

您已导入variableshelper.py模块,但尚未导入variables模块的变量。所以你可以写:

import helper
print helper.variables.VMD_name

如果你想使用helper.VMD_name,你应该在helper.py中导入变量:

from variables import *

最新更新