如何通过我的文本文件添加到词典

2024-06-06 03:01:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我的文本文件如下所示:

{'testyear3': 20, 'testyear6': '0', 'testyear5': '0', 'testyear4': '0'}

它总是这样的,我不能改变文本文件的顺序,也不能改变它的放置方式,因为在我的程序中,我编写了一个字典,用代码对文本文件进行了修改

with open ("totals.txt", 'w') as f27:
  f27.write(str(totaldict))

因此,在程序结束时,文本文件总是恢复到上面的顺序。我该如何将文本文件以它所处的格式写入字典?或者我必须改变写入文本文件的方式?你知道吗


Tags: 代码程序txt字典顺序with方式open
2条回答

我使用python的本机解析器:

def read_dict( fname, src = None):
  if src is None :
    src = StringIO.StringIO(fname)
  src_global = { }
  locals =  {}
  comp_obj = compile(src, fname, 'exec')
  eval(comp_obj, src_global, locals)
  return locals

这将加载一个文件,并基本上解析它,然后返回解析过程中创建的局部变量。你知道吗

您需要在代码前面加上一些变量名,然后返回这个变量而不是locals。你知道吗

当然这可能有点过分,但我有一个python脚本格式的文件,里面很少有字典。我想这是一种方法。你知道吗

您想更改将词典写入文本文件的方式。JSON格式将更易于处理(使用^{} module):

import json

# saving
with open("totals.txt", 'w') as f27:
    json.dump(totaldict, f27)

# loading
with open("totals.txt", 'r') as f27:
    totaldict = json.load(f27)

然而,字典并不维持任何特定的顺序,它们是无序的集合。如果要按特定顺序存储项目,则必须使用不同的数据结构(如列表),或者对信息进行排序并使用自定义格式。你知道吗

相关问题 更多 >