提问人:always-confused 提问时间:4/22/2019 更新时间:4/22/2019 访问量:789
有没有办法在文本周围插入大括号以使其成为字符串格式的字典?
Is there a way to insert curly braces around text to make it a dictionary in string format?
问:
在我的 python 程序中,我有一个添加到文本文件中的键和值列表,我需要能够提取此字符串列表并将其转换为字典。
例如:
counter = 0
add = str(counter)
counterDict = UserID + ": " + add + ", "
counter = counter + 1
#This should make counterDict look like: ""Smi39119": 0, "Joh38719": 1, " etc.
f = open("Dictionaries.txt","a")
f.write(counterDict)
f.close()
#Then I would like to be able to open the file and turn that string into a dictionary
f = open("Dictionaries.txt","r")
string = f.read()
#This way 'string' should still be a string, but look like this: "{"Smi39119": 0, "Joh38719": 1, }"
我不知道这是否可行,但如果可行,将不胜感激所有解决方案。
答:
0赞
P.hunter
4/22/2019
#1
我猜您正在尝试将字典保存到文件中,* 输入 *: json 文件系统, 你不需要将字典转换为字符串,让 JSON 为你做,将其转储到字符串中。
import json
f = open("Dictionaries.json","a")
f.write(json.dumps(your_dictionary))
f.close()
# load it and use it like a dictionary
f = open("Dictionaries.json","r")
your_dictionary = json.loads(f.read())
另请阅读 将字典写入 txt 文件并读回?
干杯!
评论
1赞
Nathan Vērzemnieks
4/22/2019
在这里使用并直接写入和读取文件会更有意义。json.dump
json.load
0赞
P.hunter
4/22/2019
我猜,python 3 中的差异非常明显?stackoverflow.com/questions/36059194/......
1赞
Nathan Vērzemnieks
4/22/2019
正如它在答案中所说的那样,“如果你想将JSON转储到文件/套接字或其他任何东西中,那么你应该去如果你只需要它作为一个字符串,那么使用。同样,当你可以做的时候,做是没有意义的。dump()
dumps()
json.loads(f.read())
lson.load(f)
评论
json