将.txt文件用作字典

时间:2018-07-17 22:57:01

标签: python file dictionary

我有一个 .txt 文件,其格式类似于字典,例如:

{'planet': 'earth', "country": "uk"}

仅此而已。我想稍后再添加更多内容。目前,我可以为它保存更多的密钥并保存,但是...

如何导入此 .txt 文件并将其用作字典?

3 个答案:

答案 0 :(得分:1)

您可以使用ast.literal_eval

import ast
with open('myfile.txt') as f:
    mydict = ast.literal_eval(f.read())

使用evalast.literal_eval的一些extra reading

答案 1 :(得分:0)

几乎是 json,但这并不是完全因为'planet''earth'周围的单引号引起的。如果您首先控制生成此.txt文件的代码,请使用经过测试和测试的工具(例如stdlib json.dump)对其进行序列化。

但是,如果您不受源代码控制,您仍然可以安全地literal_eval使用该数据:

>>> from ast import literal_eval
>>> from pathlib import Path
>>> mydict = literal_eval(Path('myfile.txt').read_text())
>>> mydict
{'planet': 'earth', 'country': 'uk'}

答案 2 :(得分:0)

def fileToDictionary(filename):
    with open(filename, 'r') as myfile:
        data=myfile.read()
    try:
        return eval(data)
    except:
            return {}

用法:

dictionary = fileToDictionary('mydictionary.txt')