Python 将文本文件加载到词典中

Python 将文本文件加载到词典中,python,Python,我试图将一个文本文件加载到词典中,但遇到了一些问题。下面的代码将输入放入字典,然后将字典写入文本文件进行保存。我正在寻找一种将该文本文件作为字典加载的方法,以便if语句能够对其进行搜索。我确信我比应该做的更难,但是有人对在程序启动时将test.txt加载到dict有什么见解吗 dict={} file=open('/python/test.txt',w') 尽管如此: 打印(“输入内容:”) 名称=输入() 如果名称=“”: 打破 如果dict中的名称: 打印(记录[姓名]) 其他: 打印(“没

我试图将一个文本文件加载到词典中,但遇到了一些问题。下面的代码将输入放入字典,然后将字典写入文本文件进行保存。我正在寻找一种将该文本文件作为字典加载的方法,以便
if
语句能够对其进行搜索。我确信我比应该做的更难,但是有人对在程序启动时将test.txt加载到dict有什么见解吗

dict={}
file=open('/python/test.txt',w')
尽管如此:
打印(“输入内容:”)
名称=输入()
如果名称=“”:
打破
如果dict中的名称:
打印(记录[姓名])
其他:
打印(“没有,输入名称的编号”)
数据=输入()
dict[name]=数据
文件写入(str(dict))
file.close()文件
test.txt内容:

{'joe':'11','sue':'12','john':'13'}

试试这个

import json

data_dict = {}

file_1 = open('test.txt', 'r')
file_data = file_1.read()
if file_data:
    data_dict  = json.loads(file_data)
file_1.close()

file = open('test.txt', 'w')
while True:

    print("Enter stuff: ")
    name = input()
    if name == '':
        break
    if name in data_dict:
        print(data_dict[name])

    else:
        print("don't have that, enter number for name")
        data = input()
        data_dict[name] = data


file.write(json.dumps(data_dict))
file.close()

print(data_dict, type(data_dict))



如果不考虑导入附加包,可以使用Python函数将字典写入文件:

names_data = {}

while True:
    name = input(prompt="Enter stuff: ")
    if name == "":
        break
    elif name in names_data:
        print(names_data[name])
    else:
        data = input(prompt="don't have that, enter number for name: ")
        names_data[name] = data

with open("/python/test.txt", "w") as file:
    print(names_data, file=file)

使用JSON格式怎么样?
dict
是一个内置的字典构造函数。不要将此标识符用于变量。您的问题是关于序列化或反序列化字典吗?这似乎与我的代码所做的事情相同。每次程序启动时,文本文件都会被重写。我试图将我的条目保存在文本文件中,然后在程序启动时作为字典加载。这样我可以添加条目,然后新条目和旧条目将在退出时保存。这有意义吗?