在我的项目中,我定义了 3 个 python 文件:
-
variables.py
(它有一些变量,其值将由用户填充(:VMD_name = "DEV56" VD_IP = "96.119.86.29" VD_username = "Administrator" VD_password = "nfV!Nads123Versa"
-
helper.py
(它有一些有用的函数,它需要 variables.py 中的变量,所以我导入了它。import variables def execute_job(): print variables.VMD_name
-
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
时,模块中的常量variables
helper.py
可用,但你仍然需要在模块名称前面加上前缀才能访问它们(即在helper.py
你应该写variables.VMD_name
(。同样,在creation.py
import helper
helper
中的常量在creation
中可用,但您应该再次在模块名称前面加上前缀。对于此常量,这意味着您应该在已经存在的variables.VMD_name
前面附加helper
。
另一方面,如果使用from variables import VMD_name
导入,则常量在帮助程序中没有模块限定符即可使用。
您已导入variables
helper.py
模块,但尚未导入variables
模块的变量。所以你可以写:
import helper
print helper.variables.VMD_name
如果你想使用helper.VMD_name
,你应该在helper.py
中导入变量:
from variables import *