我有两个文件.py文件A和B,
文件A使用文件B和文件B中的方法,使用文件A中的方法
档案A
from file_b import *
def abc():
# something
cba()
档案B
from file_a import *
def cba():
# something
abc()
如果我尝试为文件A运行脚本,我会收到错误
全球名称' cba'未定义
如果我将导入更改为:
import file_a
和
file_a.abc()
我的脚本正常运行
可以从file_a import *使用吗?
我做错了吗?
答案 0 :(得分:1)
我有3个Python PyGame文件。
在设置中,我有全局变量和一些其他有用的常量。 如果我使用
将我的设置导入我的精灵文件from settings import *
然后在我的主文件game.py中,我只是导入我的精灵。 如果我使用
from sprites import *
然后我正在设置精灵和我的设置文件的内容。 如果我要说
from sprites import player
from sprites import enemy
然后我不会获得设置的内容,即使它们被导入到NameSpace ...或文件中。如果我想访问我的game.py文件中代表颜色的元组,我必须导入它们。
我希望这可以解决您遇到的问题,或者更好地了解为什么会发生这种情况,如第一条评论所述 - 这是一个循环引用。