Как сохранить переменную в памяти - PyCharm - PullRequest
1 голос
/ 25 апреля 2020

Я часто запускаю код при работе в PyCharm. Проблема в том, что весь код обрабатывает данные, временно сохраненные в Excel (мы переместим их в базу данных, как только программа запустится). Загрузка данных занимает время.

Есть ли в PyCharm способ сохранить переменную в исходной памяти (без выполнения фрагмента кода в консоли) даже после завершения работы программы?

data = pd.read_excel(path, index_col=0)

Я хочу избегать перезагрузки данных при каждом запуске программы.

Ответы [ 3 ]

1 голос
/ 25 апреля 2020

Нет, эта функция еще не реализована, и нет способа сделать это.

0 голосов
/ 25 апреля 2020

Я нашел подвох - я знаю, что это очень, очень не pythoni c и не подходит для этого. Но это помогает мне в этом примере. Опять же, этот код только временно используется для тестирования и будет удален, как только я доволен кодом.

Модуль, который я запускаю, выглядит следующим образом:

data = pd.read_excel(path, index_col=0) #Data is loaded only once

while True:
    reload(TestModule)
    TestModule.test_function(data)
    input("Press Enter to rerun the test")

Теперь в TestModule у меня есть test_function где я могу перезагрузить ModyfiedModule, над которым я работаю, и любую функцию, которую я хочу протестировать.

TestModule:

def test_function(data):
    from ModyfiedModule import MyClass

    #Run bunch of tests from MyClass
    #Code to test MyClass is here

В этом случае я загружаю данные только один раз и могу изменить модуль MyClass и выполнять различные тесты, определенные в TestModule, без необходимости каждый раз перезагружать данные.

Единственное, что мне нужно сделать после изменения кода, это сохранить MyClass и TestModule и нажать Enter на консоли, чтобы перезапустить тест.

0 голосов
/ 25 апреля 2020

Если работа в PyCharm не является необходимостью, вы можете работать в блокноте Jupyter: https://jupyter.org/ Вы можете загрузить свои данные в ячейку и работать с ней в следующих ячейках. После выполнения результат ячейки сохраняется в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...