mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
python-3.6.zip added from Github
README.cosmo contains the necessary links.
This commit is contained in:
parent
75fc601ff5
commit
0c4c56ff39
4219 changed files with 1968626 additions and 0 deletions
50
third_party/python/Lib/json/tool.py
vendored
Normal file
50
third_party/python/Lib/json/tool.py
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
r"""Command-line tool to validate and pretty-print JSON
|
||||
|
||||
Usage::
|
||||
|
||||
$ echo '{"json":"obj"}' | python -m json.tool
|
||||
{
|
||||
"json": "obj"
|
||||
}
|
||||
$ echo '{ 1.2:3.4}' | python -m json.tool
|
||||
Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
|
||||
|
||||
"""
|
||||
import argparse
|
||||
import collections
|
||||
import json
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
prog = 'python -m json.tool'
|
||||
description = ('A simple command line interface for json module '
|
||||
'to validate and pretty-print JSON objects.')
|
||||
parser = argparse.ArgumentParser(prog=prog, description=description)
|
||||
parser.add_argument('infile', nargs='?', type=argparse.FileType(),
|
||||
help='a JSON file to be validated or pretty-printed')
|
||||
parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),
|
||||
help='write the output of infile to outfile')
|
||||
parser.add_argument('--sort-keys', action='store_true', default=False,
|
||||
help='sort the output of dictionaries alphabetically by key')
|
||||
options = parser.parse_args()
|
||||
|
||||
infile = options.infile or sys.stdin
|
||||
outfile = options.outfile or sys.stdout
|
||||
sort_keys = options.sort_keys
|
||||
with infile:
|
||||
try:
|
||||
if sort_keys:
|
||||
obj = json.load(infile)
|
||||
else:
|
||||
obj = json.load(infile,
|
||||
object_pairs_hook=collections.OrderedDict)
|
||||
except ValueError as e:
|
||||
raise SystemExit(e)
|
||||
with outfile:
|
||||
json.dump(obj, outfile, sort_keys=sort_keys, indent=4)
|
||||
outfile.write('\n')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue