Я использую Pickle для сохранения и чтения переменных в Python3. У меня 3 файла, основной скрипт, создатель и ридер.
Основной файл:
import create_m
import read_m
def main():
create_m()
read_m()
if __name__ == "__main__":
main()
Файл Create_m:
import pickle
...
var_dict = {var_a = 123, var_b = "asdf"}
with open("pickle_file.pickle","wb") as f:
pickle.dump(var_dict, f)
Файл Read_m:
p_dict = pickle.load(open("pickle_file.pickle", "rb" ))
for key,val in p_dict.items():
exec(key + '=val')
var_a = 456
Назначение var_a = 456
вызывает исключение NameError: name 'var_a' is not defined
но в переменной Locals появляется var_a
. Код Visual Studio подчеркивает переменную желтым цветом и выдает ошибку: Неопределенная переменная: 'var_a' .
Как решить?