Python: интерактивная оболочка, как записать / экспортировать в локальный файл - PullRequest
0 голосов
/ 08 апреля 2020

Например, у меня есть диктант.

>>> gtf['mykey1']

{'name': {'apple': '20', 'eat': ['Leo', 'Amy', 'Lily', 'Lucy']} 

Я хочу сохранить этот вывод в локальный файл с именем out.txt.

Как мне это сделать?

Я пытался

%store gtf['mykey1'] > out.txt

который не работал.

Спасибо.

Ответы [ 3 ]

1 голос
/ 08 апреля 2020

Попробуйте это:

with open("output.txt","w+") as file:
    file.write(gtf['mykey1'])
1 голос
/ 08 апреля 2020

Вам нужно зашифровать dict, чтобы сохранить его в текстовом формате в python, вы НЕ МОЖЕТЕ сохранить dict как есть, без предварительного создания либо строки, чтобы сохранить его в формате .txt, либо json.dump(dict_), чтобы сохранить это как json.

Это отвечает на ваш вопрос:

import json
stringified_json = json.dumps(gtf['mykey1'])
output = open('output.txt', 'w')
output.write(stringified_json)
output.close()

json .dumps принимает слово и делает его строкой.

Позже вы можете загрузить его обратно в json с помощью:

import json
output = open('output.txt', 'r')
stringified_json = output.read()
stringified_json = json.loads(stringified_json)   
output.close()
1 голос
/ 08 апреля 2020

Вы пытались просто открыть файл и записать в него:

import json

output = open('output.txt', 'w')
stringified_entry = json.dumps(gtf['mykey1'])
output.write(stringified_entry)
output.close()

Следующее также работает, но я нахожу менее удобным использовать в приглашении:

with open('output.txt') as output:
    output.write(gtf['mykey1'])
...