Ниже код:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pickle #Мои массивы Pole1 = [['Sony', 40], ['Philips', 36]] Pole2 = [['New York', 40], ['Rome', 36]] #Сохраняю массивы Pole1 и Pole2 в отдельные файлы for i in ['Pole1'. 'Pole2']: testOpen = open( i +'.pkl', 'wb') #Пытаюсь создать файлы Pole1.pkl & Pole2.pkl pickle.dump(i, testOpen) #Подгружаю массив по образцу: значение переменной Pole1 в файл Pole1.pkl #Пытаюсь извлечь данные из файлов Pole1.pkl и Pole2.pkl и присвоить им соответсвующие переменные for i in ['Pole1', 'Pole2']: testOpen = open(i + '.pkl', 'rb') i = pickle.load(testOpen) #[size 32]!!![/size]
И на этом месте я в ступоре. Не пойму, как теперь присвоить имя новой переменной (i), а ее значение вытащить из файла (i + ‘.pkl’)?
Также вопрос есть ли более простое решение, и как хранить много переменных в одном файле?
Приходит в голову загрузка переменных из файлов с помощью if/elif
for i in ['Pole1', 'Pole2']: testOpen = open(i + '.pkl', 'rb') i = pickle.load(testOpen) if i == 'Pole1': Pole1 = pickle.load(testOpen) elif i == 'Pole2': Pole2 = pickle.load(testOpen)
Pole1 = pickle.load(open(Pole1.pkl', 'rb')) Pole2 = pickle.load(open(Pole2.pkl', 'rb'))