#python #list #save
#python #Список #Сохранить
Вопрос:
Мне нужно сначала создать пустой список, затем вставить один элемент и сохранить его на диске. Затем снова прочитайте список с диска и добавьте в список другой элемент, а затем снова сохраните список на диске, а затем снова прочитайте список и сохраните другой элемент для дальнейших операций и так далее. Мой текущий код:
import pickle
emptyList = [] # create empty list
x = 'john' #this data is coming from client, so will change on each server call
emptyList.append(x) # append element
with open('createList.txt', 'wb') as f: # write to file
pickle.dump(emptyList, f)
with open('createList.txt', 'rb') as f: # read from file
my_list = pickle.load(f)
print my_list # print updated list
Теперь я получаю обновленный список, подобный этому:
#if x = 'john' then I get
['john']
#if x = 'george' then I get
['george']
#if x = 'mary' then I get
['mary']
# ..... and so on
Что я хочу, так это добавить элементы, вот так:
['john','george','mary',....]
Ответ №1:
просто измени
emptyList = [] # create empty list
Для
emptyList = [] if not os.path.exists("createList.txt") else pickle.load(open("createList.txt"))
таким образом , если ваш список уже существует , вы его загрузите … хотя тогда это уже не «пустой список».