Вызов функции между модулями в одном каталоге в Python - PullRequest
0 голосов
/ 29 октября 2018

У меня есть два модуля в одном каталоге, в одном есть функция. Я пытаюсь вызвать функцию в моем другом модуле, но я сталкиваюсь с AttributeError

module1:

from tank import cal as c

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

module2:

    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'

Структура каталогов:

Data --tank --__init__.py --cal.py --level.py

1 Ответ

0 голосов
/ 29 октября 2018

У вас есть два модуля, которые импортируют друг друга! Вы не должны иметь такой циклический импорт; Один из способов исправить это - заставить функцию water () принимать некоторые аргументы вместо прямой попытки импортирования значений из другого модуля.

def water(lev1, lev2, lev3):
    print(lev1)
    print(lev2)
    print(lev3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...