Python:从txt文件访问字典并向其添加新数据,然后将此更新的dict存储回txt文件中

时间:2015-12-17 17:28:13

标签: python dictionary

我在文本文件中有一个字典,格式正确,

 {'one': 'a', 'two': 'b', 'three': 'c'}

我想把变量说成dict1中的字典。 我的程序生成新的键值对,如果新生成的键在dict1中不存在,那么我想在dict1中添加这个新键。 最后我想用这个更新的字典更新txt文件。

我知道如何将键值对添加到dict中,但我无法将该字典从txt文件读入字典类型的变量。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

这段代码对我有用:

import ast

dict_file = open("dict.txt", "r")
dict_string = dict_file.readline().strip()
dict_file.close()

d = ast.literal_eval(dict_string)
print d["one"]

#change your dictionary e.g:
d["foo"] = "bar"

f = open("dict.txt", "w")
f.write(str(d))
f.close()

它只是从文件中读取字符串并使用“ast.literal_eval”创建字典。然后,您可以提交对字典的更改,将其转换为字符串并将其写入txt文件。

您也可以使用Pickle

答案 1 :(得分:0)

如果您的文本文件名为$('#circle a').click(function() { var timer = $('.time > span').html(); timer = timer.split(':'); var minutes = timer[0]; //Value of minutes var seconds = timer[1]; //Value of seconds var settimer = setInterval(function() { seconds -= 1; console.log(seconds); if (seconds < 0 && minutes != 0) { minutes -= 1; minutes = String(minutes); seconds = 59; } else if (seconds < 10 && seconds.length != 2) seconds = '0' + seconds; if (minutes < 10 && minutes.length < 2) minutes = '0' + minutes; $('.time > span').html(minutes + ':' + seconds); //Start break when session is completed if (minutes == 0 && seconds == 0) { $('.upper').find('h1').text('BREAK'); var time = $('#break').find('span').text(); $('.time > span').html('0' + time + ':00'); $('#circle a').trigger("click"); //Start timer for break } }, 1000); }); ,那么

foo.txt