Как использовать переменные в других файлах .py

#python #ros

#python #ros

Вопрос:

У меня есть файл A.py в пакете с классом и списком в качестве атрибута класса или переменной класса. Файл A запускает цикл для обновления значения в этом списке. Как я могу получить список и все изменения в файле B.py (в другой упаковке).

Ответ №1:

При использовании только «атрибутов класса» значения являются статическими, должен работать простой «импорт».

Например, proj/package1/A.py :

 class A:
    attr1 = "foo"
    attr2 = "bar"
 

Создать файл __init__.py во всех каталогах: текущий, package1 , package2

Импортируйте A из proj каталога в proj/B.py:

 from package1.A import *
print(A.attr1)
print(A.attr2)
 

Импортируйте A из не родительского каталога, например. proj/package2/B.py

 import sys
sys.path.append("package1") # Run programme in `proj` dir

from A import *
print(A.attr1)
print(A.attr2)