Close #18538: ``python -m dis`` now uses argparse.

Patch by Michele Orrù.
This commit is contained in:
Nick Coghlan 2013-08-25 00:48:17 +10:00
parent e726ce1f3e
commit 095668914c
2 changed files with 11 additions and 19 deletions

View File

@ -436,25 +436,14 @@ class Bytecode:
def _test():
"""Simple test program to disassemble a file."""
if sys.argv[1:]:
if sys.argv[2:]:
sys.stderr.write("usage: python dis.py [-|file]\n")
sys.exit(2)
fn = sys.argv[1]
if not fn or fn == "-":
fn = None
else:
fn = None
if fn is None:
f = sys.stdin
else:
f = open(fn)
source = f.read()
if fn is not None:
f.close()
else:
fn = "<stdin>"
code = compile(source, fn, "exec")
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('infile', type=argparse.FileType(), nargs='?', default='-')
args = parser.parse_args()
with args.infile as infile:
source = infile.read()
code = compile(source, args.infile.name, "exec")
dis(code)
if __name__ == "__main__":

View File

@ -40,6 +40,9 @@ Core and Builtins
Library
-------
- Issue #18538: ``python -m dis`` now uses argparse for argument processing.
Patch by Michele Orrù.
- Issue #18394: Close cgi.FieldStorage's optional file.
- Issue #17702: On error, os.environb now removes suppress the except context