Сохранение словаря в файл, сохраняя его как словарь - PullRequest
1 голос
/ 08 ноября 2019
itemsInExistence = []
item = {}
item['name'] = input("What do you want the new item to be called? ")
item['stats'] = int(input("What is its stat? "))
item['rank'] = int(input("What is its base rank? "))
item['amount'] = int(input("How many of it are there? "))
for i in range(item['amount']):
  itemsInExistence.append(item)
def save_list2():
  with open('itemsleft.txt', 'wb') as f:
  i = 0
  for item in itemsInExistence:
    pickle.dump(itemsInExistence, f)
    i += 1

Я пытался сохранить его как обычно, так и с помощью pickle, но ни один из них не сохраняет значения словаря. Мне нужно сохранить словарь в файл и извлечь его из файла со значениями «статистика», «ранг», «количество», которые по-прежнему являются целыми числами и отделены от остальной части строки. (Помните, что в itemsInExistence будет несколько сохраненных элементов, как для сохранения, так и для загрузки.)

def save_list2():
  ii = 0
  for i in itemsInExistence:
    d = itemsInExistence[ii]
    json.dump(d, open(files2, 'w'))
    ii += 1 

def load_list2():
    with open(files2,'r') as a:
      for line in a:
        line = line.strip()
        itemsInExistence.append(line)

1 Ответ

1 голос
/ 08 ноября 2019

Вы можете использовать формат JSON для сохранения разметки в файле, это довольно просто

import json

file = "foofile"
d = dict()
# fill d

# save data : format the dict to a string and it into the file
json.dump(d, open(file, 'w'))

# read data : read the file's content and parse to a dict
a = json.load(open(file))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...