如何在 python 2.4 中编写 simplejson

How to write simplejson in python 2.4

我有一个问题,我需要使用 simplejson 使用 python 2.4 将一些词典写入文件(是的,我们正在积极尝试升级;不,它还没有准备好) .

Python 2.4 不能使用语法:

with open('data.txt', 'w') as outfile:
    json.dumps(data, outfile)

而且我在任何地方都找不到正确的语法。如果我尝试使用这个:

sov_filename = 'myfile.txt'
sov_file     = open( sov_filename, 'w' )
filecontents = json.dumps( sov_file )

没有任何反应。文件已创建,但其中没有任何内容。

那么,有人知道如何为 python 2.4 执行此操作吗?

要将 JSON 保存到文件,请使用 json.dump:

sov_filename = 'myfile.txt'
sov_file = open(sov_filename, 'w')
json.dump(data, sov_file)

with 语法是语法糖。脱糖后的等价物是:

outfile = open('data.txt', 'w')
try:
    json.dump(data, outfile)
finally:
    outfile.close()

我不确定为什么 simplejson 没有写入文件,但您也可以通过将 json.dump(data, outfile) 替换为 outfile.write(json.dumps(data))

来解决这个问题

我只是需要 close() 它。我在代码中有它,但在它执行之前就退出了。我已经习惯了这不是必需的,因为我在 python 2.7 脚本中使用 csv 编写器,其中的行出现在文件中而没有明确关闭。