Можно ли отлаживать код, используя уже созданные объекты - Pycharm - PullRequest
0 голосов
/ 07 января 2020

У меня есть код, который выполняет тяжелые вычисления в script1.py. Я уже запустил его (отправил на консоль Python с помощью Alt + Shift + e) ​​и создал все объекты, сохраненные в памяти. Сейчас я продолжаю развивать свой код (в script2.py, который вызывает script1.py в самом начале), но есть ошибка, которую мне нужно исследовать. Я хотел использовать Pycharm Debugger для части кода, поэтому я пометил эту часть script.py, щелкнул правой кнопкой мыши и запустил Debug script2.py. Но кажется, что он запускает весь включенный код, поэтому мне нужно перезапустить все вычисления из script1.py, который является абсолютно громоздким. Есть ли способ запустить отладчик с уже созданными объектами?

1 Ответ

0 голосов
/ 07 января 2020

Вы можете использовать pickle, чтобы сохранить объект в первом сценарии, а затем загрузить маринованный объект во втором сценарии.

script1.py

# Save a dictionary into a pickle file.
import pickle

favorite_color = {"first": "yellow", "second": "red"}

pickle.dump(favorite_color, open("save.p", "wb"))

script2.py

# Load the dictionary back from the pickle file.
import pickle

favorite_color = pickle.load(open("save.p", "rb"))
# favorite_color is now {"first": "yellow", "second": "red"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...