[Python-checkins] json.tool: use stdin and stdout in default cmdlne arguments (GH-11992)
Victor Stinner
webhook-mailer at python.org
Tue May 14 12:52:50 EDT 2019
https://github.com/python/cpython/commit/4d45a3b1107977baba9dce868e80d1d95bce4085
commit: 4d45a3b1107977baba9dce868e80d1d95bce4085
branch: master
author: Hervé Beraud <herveberaud.pro at gmail.com>
committer: Victor Stinner <vstinner at redhat.com>
date: 2019-05-14T18:52:42+02:00
summary:
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).
files:
M Lib/json/tool.py
diff --git a/Lib/json/tool.py b/Lib/json/tool.py
index 1d82bc824236..b3ef9923e314 100644
--- a/Lib/json/tool.py
+++ b/Lib/json/tool.py
@@ -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:
More information about the Python-checkins
mailing list