繁体   English   中英

在Python上导入无法正常工作

[英]import on Python doesn't work as expected

尽管应该导入变量,但出现“未定义名称X”的异常。

main.py

from config import *
from utils import *
say_hello()

utils.py

from config import *
def say_hello():
    print(config_var)

config.py

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM