Из словаря Python, как сохранить ключ и значение в файл *.txt

Как распечатать ключ и значение в файл *.txt из словаря?

Я попытался прочитать данные и распечатать их в файл *.txt, но файл name.txt пуст.

#The code that I have tried
#my_dict is given above
def create_dict():

    with open("name.txt", "w+") as f:
    for key, value in my_dict:
            print(key, value)
            f.write('{} {}'.format(key, value))
0
источник поделиться
3 ответа

Как указывали другие ответы, ваш абзац просто неверен в вашем заявлении with.

Соленый огурец

Хотя, если ваша цель - сохранить словарь для последующего использования, лучше всего использовать pickle. Это не сработает, если вы намерены сохранить словарь в удобочитаемом формате, но будет гораздо более эффективным способом хранения данных.

import pickle

my_dict = {
    'foo': 'bar',
    'baz': 'spam'
}

# This saves your dict
with open('my_dict.p', 'bw') as f:
    pickle.dump(my_dict, f)

# This loads your dict
with open('my_dict.p', 'br') as f:
    my_loaded_dict = pickle.load(f)

print(my_loaded_dict)  # {'foo': 'bar', 'baz': 'spam'}

Json

Компромисс между эффективностью хранения и удобочитаемостью может заключаться в использовании вместо этого json. Это не удастся для сложных объектов Python, которые не сериализуемы в JSON, но, тем не менее, являются совершенно допустимым методом хранения.

import json

my_dict = {
    'foo': 'bar',
    'baz': 'spam'
}

# This saves your dict
with open('my_dict.json', 'w') as f:
    # passing an indent parameter makes the json pretty-printed
    json.dump(my_dict, f, indent=2) 

# This loads your dict
with open('my_dict.json', 'r') as f:
    my_loaded_dict = json.load(f)

print(my_loaded_dict)  # {'foo': 'bar', 'baz': 'spam'}
+1
источник
def create_dict():

  with open("name.txt", "w") as f:
    for key, value in thisdict.items():
      print(key, value)
      f.write('{} {}'.format(key, value)+"\n")

Вам следует переименовать ваш словарь из "dict" во что-то другое (выше как thisdict), так как dict - это специальное встроенное имя в Python.

0
источник
with open("dictToTxt.txt", "w+") as f:
for i in thisdict:
    f.write("%s, %s\n" % (i, thisdict[i]))
-1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос