简体   繁体   中英

How to write simplejson in python 2.4

I have an issue where I need to use simplejson to write some dictionaries to file using python 2.4 (yes, we're actively trying to upgrade; no, it's not ready yet).

Python 2.4 cannot use the syntax:

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

and I cannot find the correct syntax anywhere. If I try using this:

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

nothing happens. The file is created, but nothing is in it.

So, does anybody know how to do this for python 2.4?

To save JSON to file use json.dump :

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

The with syntax is syntactic sugar. The desugared equivalent is:

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

I'm not sure why simplejson isn't writing to the file, but you can work around that as well, by replacing json.dump(data, outfile) with outfile.write(json.dumps(data))

I simply needed to close() it. I had it in the code, but was exiting before it executed. I was accustomed to this not being necessary because I was using the csv writer in a python 2.7 script, for which the lines appear in the file without explicitly closing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM