mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
json.tool: use stdin and stdout in default cmdlne arguments (GH-11992)
Argparse can handle default value as stdin and stdout for parameters as file type (infile, outfile).
This commit is contained in:
parent
f12ba7cd0a
commit
4d45a3b110
1 changed files with 6 additions and 4 deletions
|
@ -21,17 +21,19 @@ def main():
|
|||
'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')
|
||||
help='a JSON file to be validated or pretty-printed',
|
||||
default=sys.stdin)
|
||||
parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),
|
||||
help='write the output of infile to outfile')
|
||||
help='write the output of infile to outfile',
|
||||
default=sys.stdout)
|
||||
parser.add_argument('--sort-keys', action='store_true', default=False,
|
||||
help='sort the output of dictionaries alphabetically by key')
|
||||
parser.add_argument('--json-lines', action='store_true', default=False,
|
||||
help='parse input using the jsonlines format')
|
||||
options = parser.parse_args()
|
||||
|
||||
infile = options.infile or sys.stdin
|
||||
outfile = options.outfile or sys.stdout
|
||||
infile = options.infile
|
||||
outfile = options.outfile
|
||||
sort_keys = options.sort_keys
|
||||
json_lines = options.json_lines
|
||||
with infile, outfile:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue