Я новичок в программировании на Python и хотел бы обратиться за помощью в вызове метода из другого недавно измененного файла Python.
В настоящее время у меня есть 3 файла Python: main.py, addBody.py и originalBody.py.
addBody будет добавлять один сегмент тела к originalBody.py в каждой итерации.Это делается с помощью функции чтения и записи.
Например,
в первой итерации (инициированной из main.py), originalBody.py будет выглядеть так:
class BODY:
def __init__(self):
object1 = send_cylinder(length = 1.0, radius = 0.1)
bodySegment = {}
bodySegment[0] = 1 #one body
во второй итерации originalBody.py будет автоматически выглядеть следующим образом:
class BODY:
def __init__(self):
object1 = send_cylinder(length = 1.0, radius = 0.1)
object2 = send_cylinder(length = 1.0, radius = 0.1)
bodySegment = {}
bodySegment[0] = 1 #one body
bodySegment[1] = 2 #two body
Когда я пытаюсь вызвать класс из main.py,
main.py
from originalBody import BODY
for i in range (0,10):
fileToRead = open('addBody.py')
fileToAppend = open('originalBody.py', 'a')
...(add body from addBody.py to originalBody.py)...
fileToAppend.close()
fileToRead.close()
parent = BODY()
print(parent.bodySegment)
в первой итерации он работает плавно:
{0: 1}
Во второй итерации, после добавления сегмента тела в originalBody.py, предположительно ожидается вывод результата:
{0: 1, 1: 2}
Однако он выводит результат первой итерации:
{0: 1}
Я подозреваю, что мой код вызывает функцию из исходной версии originalBody.py, которая еще не была изменена.Нужно ли мне добавить какой-нибудь код в main, чтобы получить метод класса из модифицированной версии originalBody?Или мне нужно добавить задержку для вызова метода сразу после модификации originalBody?