Импортировать объекты класса в другой скрипт - PullRequest
0 голосов
/ 28 октября 2019

У меня есть папка Python с несколькими сценариями. Допустим, имя папки - Пример. Структура выглядит следующим образом:

Example/ 
    main.py
    classes.py\
        class cls_inp:
            "Some code" 
    UserInterface.py

Мой скрипт работает следующим образом. Я звоню main.py. В main.py вызывается constants.py и определяется класс cls_inp. Затем main.py вызывает функцию run (), определенную в UserInterface.py. UserInterface.py создает объекты класса cls_inp, как объекты inp1, inp2 и т. Д.

"UserInterface.py"
def run():
    from constants import cls_inp
    inp1 = cls_inp()
    inp2 = cls_inp()
    "Some code that modifies inp1 and inp2"
    " go back to main.py"

После этого код возвращается к main.py.

Теперь мне нужно иметь доступ к объектам inp1 и inp2 из main.py. Проблема в том, что я не могу импортировать объекты, я могу только импортировать класс. Каков наилучший способ сделать это?

PS: Я бы предпочел решение без возврата объектов в основную функцию, так как в реальности у меня много экземпляров классов.

Ответы [ 2 ]

0 голосов
/ 28 октября 2019
def run():
    from constants import cls_inp
    inp1 = cls_inp()
    inp2 = cls_inp()
    return (inp1, inp2)

def main():
    inp1, inp2 = UserInterface.run()  

как-то так?
Вы должны передать объекты за пределы функции как возвращаемое значение

0 голосов
/ 28 октября 2019

Вы можете вернуть inp1 и inp2 в виде массива:

"UserInterface.py"
def run():
    from constants import cls_inp
    inp1 = cls_inp()
    inp2 = cls_inp()
    "Some code that modifies inp1 and inp2"
    " go back to main.py"
    return [inp1 , inp2] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...