Python 未定义全局名称“test”
我有两个文件。py文件a和B 文件A使用文件B中的方法,文件B使用文件A中的方法 归档Python 未定义全局名称“test”,python,python-2.7,Python,Python 2.7,我有两个文件。py文件a和B 文件A使用文件B中的方法,文件B使用文件A中的方法 归档 from file_b import * def abc(): # something cba() 文件B from file_a import * def cba(): # something abc() 如果我尝试运行文件A的脚本,则会出现错误 未定义全局名称“cba” 如果我将导入更改为: import file_a 及 我的脚本运行正常 可以从文件中使用导入* 我做错什么了吗?我
from file_b import *
def abc():
# something
cba()
文件B
from file_a import *
def cba():
# something
abc()
如果我尝试运行文件A的脚本,则会出现错误
未定义全局名称“cba”
如果我将导入更改为:
import file_a
及
我的脚本运行正常
可以从文件中使用导入*
我做错什么了吗?我有3个Python PyGame文件 设置.py 雪碧 game.py 在设置中,我有全局变量和一些其他有用的常量。 如果我使用
from settings import *
然后在我的主文件game.py中,我只导入我的精灵。
如果我使用
from sprites import *
然后我还要设置精灵和设置文件的内容。
如果我说
from sprites import player
from sprites import enemy
那么我就不会得到设置的内容,即使它们被导入到那个名称空间中。。。或文件。如果我想访问game.py文件中表示颜色的元组,我必须导入它们
我希望这可以解决您的问题,或者更好地了解发生这种情况的原因,如第一条评论中所述-这是一个循环引用。您有一个循环依赖关系,文件a的所有内容都在文件B中,因此,将B导入A也是在尝试导入自身——我在下面举了一个例子——我希望——用一个例子更好地解释它。
from sprites import player
from sprites import enemy