summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/shlex.py20
-rw-r--r--Misc/NEWS2
2 files changed, 13 insertions, 9 deletions
diff --git a/Lib/shlex.py b/Lib/shlex.py
index 69f3b45..4672553 100644
--- a/Lib/shlex.py
+++ b/Lib/shlex.py
@@ -290,15 +290,17 @@ def quote(s):
return "'" + s.replace("'", "'\"'\"'") + "'"
-if __name__ == '__main__':
- if len(sys.argv) == 1:
- lexer = shlex()
- else:
- file = sys.argv[1]
- lexer = shlex(open(file), file)
+def _print_tokens(lexer):
while 1:
tt = lexer.get_token()
- if tt:
- print("Token: " + repr(tt))
- else:
+ if not tt:
break
+ print("Token: " + repr(tt))
+
+if __name__ == '__main__':
+ if len(sys.argv) == 1:
+ _print_tokens(shlex())
+ else:
+ fn = sys.argv[1]
+ with open(fn) as f:
+ _print_tokens(shlex(f, fn))
diff --git a/Misc/NEWS b/Misc/NEWS
index 20ff5d6..f1045ca 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -181,6 +181,8 @@ Core and Builtins
Library
-------
+- Issue #18853: Fixed ResourceWarning in shlex.__nain__.
+
- Issue #9351: Defaults set with set_defaults on an argparse subparser
are no longer ignored when also set on the parent parser.