我正在尝试做一个字典数据库,就像实际的字典一样。用户输入关键字及其含义,程序将其保存在数据库中。比如输入单词:rain,输入单词的含义:水滴从云中落下,然后程序将其制成字典。到目前为止,我可以做到这一点,但它没有按照我想要的方式工作。
class Mydictionary:
def __init__(self):
self.key=input("Please input word: ")
self.value=input("Please input meaning of the word: ")
def mydictionary(self):
self.dic={self.key:self.value}
Mydic=Mydictionary()
Mydic.mydictionary()
它只能工作一次。我想尽可能多地保存关键字和值。我想创建一个字典数据库。
最佳答案
据我所知,它按照您的解释运行得很好......
如果您认为要在单个对象中插入多个值,那么这将不起作用,因为您在调用构造函数时只获得一个输入。
你必须像这样实现它,
import json
class Mydictionary:
def __inint__(self):
self.dic = {}
def mydictionary(self):
self.key=input("Please input word: ")
self.value=input("Please input meaning of the word: ")
self.dic[self.key] = self.value
def save(self, json_file):
with open(json_file, "w") as f:
json.dump(self.dic, f)
Mydic=Mydictionary()
Mydic.mydictionary()
Mydic.mydictionary()
# to save it in a JSON file
Mydic.save("mydict.json")
现在您可以调用该方法 n 次来添加 n 个条目...
您可以查看下面 @arsho 的答案,我认为这是一个很好的做法。根据他们正在执行的实际功能适本地命名函数很重要。
关于python - 将字典作为用户输入,然后保存到json文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62041943/