Открыть сохранить данные из TXT, где диктовать и обновить и снова сохранить - PullRequest
0 голосов
/ 15 апреля 2020

Как загрузить данные из файла .txt, в котором сохранены словари из 14 видов спорта (14 разных словарей)? Мне нужно отредактировать и сохранить записи.

В настоящее время я сохраняю программу следующим образом:

def ulozit():
    vsetko = (medicimbal.items(),zhyb.items(),zhybyChalani.items(),clnkovyb.items(), stoM.items(), tisicM.items(),tritisicM.items(), hodG.items(),skokdoD.items()
              ,sedL.items(),veslp.items(),kluk.items(),preskok.items(),skokdoD.items())
    f = open("vsetko.txt", "w")
    f.write( str(vsetko) )
    f.close()

Мне нужно прочитать и обновить выше, но как?

Моя программа https://github.com/smajdalf89/Programovanie/edit/master/Tv%20Program начинается со строки 464 как "def ulozit ()".

В txt, сохраненном, как показано ниже, поля - это имя, класс, пол и упражнение:

(dict_items ([('michal', ['1.a', 'CH', 9.0])]), dict_items ([('danka', ['2.a', 35.0]) ]), dict_items ([('jozko', ['3.a', 30.0])]), dict_items ([('marian', ['4.a', 'ch', 6.0])]), dict_items ([('martin', ['3.a', 'Ch', 6.0])]), dict_items ([('erik', ['1.b', 'CH', 3.05])]), dict_items ([('trulo', ['2. c', 'CH', 12.08])]), dict_items ([('richard', ['1.a', 'Ch', 30.0])]) , dict_items ([('michal', ['4.a', 'CH', 250.0])]), dict_items ([('michal', ['4.a', 'CH', 250.0])]) , dict_items ([('jebo', ['3.d', 'CH', 9.0])]), dict_items ([('michal', ['2.a', 'CH', 1.2])]) , dict_items ([('milan', ['3. c', 'CH', 50.0])]), dict_items ([('lukas', ['1. c', 'CH', 25.0 ])]))

1 Ответ

0 голосов
/ 15 апреля 2020

Я просто использую текстовые файлы для сохранения данных.

Для словарей я храню их как CSV, где я использую функцию split () для ключа и значений

Для доступа к данные, я использую

    with open(filename, "r") as txtr:
        data = txtr.read()

, после чего я несколько раз разделяю данные и присваиваю их словарям.

Чтобы обновить файл, вам потребуется переписать весь текстовый файл. Так что 2 функции, сохранить и загрузить.

...