This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author nervecenter
Recipients nervecenter
Date 2021-03-10.02:05:40
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1615341940.36.0.754743862961.issue43457@roundup.psfhosted.org>
In-reply-to
Content
Python has a "batteries included" approach to standard library construction. To that end, commonly used procedures are often included as functions; adding sugar to the language is often exchanged for adding sugar to libraries.

One of these common procedures in small-scale scripting tasks is loading a JSON file as simple data structures and saving simple data structures as a JSON file. This is normally handled using context managers, json.load(), and json.dump(). This is a bit cluttered and, I'd argue, not quite as Pythonic as the philosophy demands. I have a small file containing this code:

import json

def load_file(filename, *args, **kwargs):
    with open(filename, "r") as fp:
        data = json.load(fp, *args, **kwargs)
    return data

def save_file(data, filename, *args, **kwargs):
    with open(filename, "w") as fp:
        json.dump(data, fp, *args, **kwargs)

I'd say, toss these two functions into the json module. Those two functions contain the clutter. For all other users, loading and saving JSON files become one-line function calls. This is convenient and batteries-included.
History
Date User Action Args
2021-03-10 02:05:40nervecentersetrecipients: + nervecenter
2021-03-10 02:05:40nervecentersetmessageid: <1615341940.36.0.754743862961.issue43457@roundup.psfhosted.org>
2021-03-10 02:05:40nervecenterlinkissue43457 messages
2021-03-10 02:05:40nervecentercreate