From dc1843dc51476f75d2ea18e576c1e70b81e1fd76 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 19 Nov 2019 22:13:17 -0800 Subject: [PATCH] Defer import of shutil which only needed for help and usage --- Lib/argparse.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Lib/argparse.py b/Lib/argparse.py index 94e1b8ad0ed18e0..c88928c513b426c 100644 --- a/Lib/argparse.py +++ b/Lib/argparse.py @@ -87,7 +87,6 @@ import os as _os import re as _re -import shutil as _shutil import sys as _sys from gettext import gettext as _, ngettext @@ -167,7 +166,8 @@ def __init__(self, # default setting for width if width is None: - width = _shutil.get_terminal_size().columns + import shutil + width = shutil.get_terminal_size().columns width -= 2 self._prog = prog @@ -264,7 +264,7 @@ def add_argument(self, action): invocations.append(get_invocation(subaction)) # update the maximum item length - invocation_length = max([len(s) for s in invocations]) + invocation_length = max(map(len, invocations)) action_length = invocation_length + self._current_indent self._action_max_length = max(self._action_max_length, action_length)