python中在同一目录中的模块之间调用函数

python中在同一目录中的模块之间调用函数,python,function,module,Python,Function,Module,我在同一个目录中有两个模块,其中一个有函数。我正试图将该函数调用到我的另一个模块中,但我遇到了AttributeError 模块1: from tank import cal as c def water(): lev1=c.rec1 lev2=c.rec2 lev3=c.rec3 print(lev1) print(lev2) print(lev3) 模块2: from tank import level as lv a=i

我在同一个目录中有两个模块,其中一个有函数。我正试图将该函数调用到我的另一个模块中,但我遇到了AttributeError

模块1:

from tank import cal as c

def water():
    lev1=c.rec1
    lev2=c.rec2
    lev3=c.rec3
    print(lev1)
    print(lev2)
    print(lev3)
模块2:

    from tank import level as lv

    a=input("enter the number")
    rec1=a[1:5]
    rec2=a[5:9]
    rec3=a[9:13]
    lv.water()
错误:

    AttributeError: module 'tank.level' has no attribute 'water'
目录结构:

数据
--坦克
--__初始值
--卡比

--level.py

您有两个模块正在相互导入!你不应该有这样的周期性进口;解决此问题的一种方法是让water()函数接受一些参数,而不是直接尝试从另一个模块导入值

def water(lev1, lev2, lev3):
    print(lev1)
    print(lev2)
    print(lev3)

tank
是同时包含模块模块1:posted is
tank.level
和模块2:is
cal
显示这些模块的目录结构更新问题您希望我将
rec
替换为
lev
Hey@Nithya!@Michael想说的是,当您运行cal.py解释器时,它会转到import level.py,而import level.py又包含import-cal,所以它会再次转到cal。。然后再调平。阅读python中的循环导入。谢谢你们提供的信息。这让我知道了我在寻找什么