如何在 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 编写器,其中的行出现在文件中而没有明确关闭。
我有一个问题,我需要使用 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 编写器,其中的行出现在文件中而没有明确关闭。