Как изменить и сохранить переменную при запуске

Как изменить переменную а объявленную вначале, закрыть идл и если запустить чтоб в а сохранилось переданное значение, такое возможно?

a = ()
def start():
    b = 1 + 2
    a = b

Ответы (2 шт):

Автор решения: Sergey

Сохранение/восстановление данных в разных сеансах работы

Для этого существует специальный пакет pickle у которого два метода:

  1. dump()
  2. load()

Пример использования:

import pickle

data = {
    'a': [1, 2.0, 3, 4+6j],
    'b': ("character string", b"byte string"),
    'c': {None, True, False}
}

with open('data.pickle', 'wb') as f:
    pickle.dump(data, f)

with open('data.pickle', 'rb') as f:
    data_new = pickle.load(f)
    print(data_new)

Для Вашего случая это может выглядеть так:

import pickle

a = ()

def start():
    global a

    b = 1 + 2
    a = b

start()

print("До", a)
with open('data.pickle', 'wb') as f:
    pickle.dump(a, f)

a = ()

with open('data.pickle', 'rb') as f:
    a = pickle.load(f)
    print("После", a)
→ Ссылка
Автор решения: Struckture

Можно сохранить переменную в текстовый файл, а потом считать его и записать в переменную.

→ Ссылка