Есть ли способ постоянного добавления в список в python? - PullRequest
0 голосов
/ 28 марта 2020

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

#All the sub-folders
fivek = []
tenk = []
twomi = []
sixteen = []
eight = []
four = []
two = []
Half = []
Full = []

#choose which folder
distance = input("Length of Race? (5k, 10k, 2mi, 1600, 800, 400, 200, Half, Full)")
if distance == "5k":
    time=str(input("What was your time? (Put date in parenthesis Ex. 20:00(1-1-20))"))
    fivek.append(time)
    print(fivek)

Я достаточно ясен? Дайте мне знать, если я слишком туманный.

, поэтому используйте csv как этот?

import csv

time = []
length = []
place = []

timeResult = input("What was your time?")
lengthResult = input("What was the race length?")
placeResult = input("Where was the race?")

pace.append(placeResult)
time.append(timeResult)
length.append(lengthResult)

with open('times.csv', newline='') as f:
    thewriter = csv.writer(f)
    thewriter.writerow([length, time, place])

1 Ответ

0 голосов
/ 28 марта 2020

Нет. Python списки - это объекты, созданные в памяти. Память пуста, когда ваш скрипт Python запускается, и объекты в нем исчезают, когда ваш скрипт заканчивается. Итак, что вам нужно сделать, это заполнить свой список из формы постоянного хранилища, такого как файл на вашем диске. т.е. вы не хотите изменять сам код, чтобы он содержал ваши данные. Вместо этого ваш код считывает данные из внешнего источника.

Так что вы можете посмотреть библиотеку csv: https://docs.python.org/3/library/csv.html. Это позволяет вам читать из файла на диске в начале вашего скрипта, чтобы заполнить список изначально. Затем вы добавляете записи в список в вашем скрипте и в конце сохраняете обновленный список обратно на диск. Преимущество табличного CSV-файла (значений, разделенных запятыми) состоит в том, что он представляет собой простой текст, поэтому его можно читать с помощью большого количества других программ, и он особенно хорошо подходит для открытия в электронной таблице, если вы хотите проверить свои данные сюда. Pickling - это способ непосредственного сохранения Python объектов на диск, но полученные файлы не могут быть непосредственно прочитаны ничем, кроме самого Python.

Наконец, вам может быть удобно сохранить все ваши данные в одной таблице с колонкой для длины гонки и другим колонкой для времени гонки. Это обеспечивает большую гибкость для последующего анализа. Внутри вашего кода, после чтения в одном CSV-файле, отформатированном таким образом, вы получите один список словарей, где каждая запись представляет собой словарь Python, который имеет ключ (длина гонки) и значение (время гонки). ).

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