Python:如何使用循环导入调用另一个文件中的函数



我正在制作一款基于文本的地板游戏。我希望所有的移动功能是在一个单独的python文件,但我有问题,让他们一起工作。

我的主游戏名为floors.py,地图文件为floormap.py

我可以从floormap.py中导入和运行floors.py中的函数。

但我不知道如何在运行floormap.py函数后返回floors.py函数。下面是一个例子。当我运行这个命令时,我在终端中得到以下错误:

NameError: global name 'first_hall_1' is not defined

我确实得到这个工作使用:

from floormap import first_hall_1

但是我可以找到一种方法让函数再次在原始文件中被调用。

Floors.py:

import floormap
def first_hall_object():
    grab = raw_input("Enter Command > ")
    backward = ['back', 'Back', 'Backward', 'backward']
    if any (s in grab for s in backward): 
        first_hall_1()
def walkin_hall():
    print "whatever"

floormap.py:

import floors 
def first_hall_1():
    print "You are in front of the door again. It is locked."
    walkin_hall()

您需要用模块名称floormap来限定first_hall_1

def first_hall_object():
    grab = raw_input("Enter Command > ")
    backward = ['back', 'Back', 'Backward', 'backward']
    if any (s in grab for s in backward): 
        floormap.first_hall_1()  # <-----

walkin_hall()调用相同:

def first_hall_1():
    print "You are in front of the door again. It is locked."
    floors.walkin_hall()

相关内容

最新更新