在我的项目中,我定义了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
:需要访问helper.py函数和variables.py变量。由于variable.py已经导入到helper.py中,所以我认为我应该只导入helper.py,后者又将具有变量。
import helper
但是以下两个语句均不起作用。请让我知道是否需要在creation.py中再次导入variable.py?这不是重复吗?
print helper.VMD_name
print helper.variables.VMD_name
答案 0 :(得分:1)
您可以这样做(在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
)。同样,在import helper
中的creation.py
之后,helper
中的常量在creation
中可用,但是同样,您应该在模块名前加上前缀。对于此常数,这意味着您应该将helper
放在已经存在的variables.VMD_name
之前。
另一方面,如果您使用from variables import VMD_name
进行导入,则在助手中没有模块限定符的情况下常量将变为可用。
答案 1 :(得分:1)
您已在variables
中导入了模块helper.py
,但尚未导入variables
模块的变量。所以你可以这样写:
import helper
print helper.variables.VMD_name
如果要使用helper.VMD_name
,则应将变量导入helper.py
:
from variables import *