[英]import on Python doesn't work as expected
尽管应该导入变量,但出现“未定义名称X”的异常。
from config import *
from utils import *
say_hello()
from config import *
def say_hello():
print(config_var)
from utils import *
config_var = "Hello"
尝试运行“ main.py”:
追溯(最近一次通话最近):在say_hello()中的文件“ main.py”,第3行,在say_hello中的文件“ C:\\ Users \\ utils.py”,第3行,print(config_var)NameError:名称为“ config_var”没有定义的
这里发生了什么? 为什么some_var无法从utils.py访问?
您正在util中导入config和config中的util会导致此错误(创建交叉循环)。 from utils import *
删除config.py,然后尝试。
在main.py中,您不需要from config import *
除非您直接在main()中使用config中的变量
您还应该导入config.config_var,因为此变量属于该特定模块
您要创建许多import语句,也许可以尝试以下操作,但是如果要在utils.py中传递参数,则需要在utils.py中定义一个参数。
在utils.py中,由于您要打印出适当的值,因此需要传递一个参数。在config.py中,您要定义一个值。 然后在main.py中,如之前讨论的使用通配符运算符“ *”在这种情况下并不完全一样,那么为了调用相应的函数,您需要通过其文件名来对其进行寻址
在utils.py中:
def say_hello(config_var):
print(config_var)
在config.py中
config_var = "Hello"
然后在main.py中
import config as cn
import utils as ut
ut.say_hello(cn.config_var)
签出此线程以了解如何编写python模块以及如何编写python模块/软件包?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.