mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
gh-118761: Redudce the import time of `optparse
` (#128899)
The same change was made, and for the same reason, by ``argparse`` back in 2017. The ``textwrap`` module is only used when printing help text, so most invocations will never need it imported. Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
c9c9fcb8fc
commit
3b6a27c560
2 changed files with 4 additions and 1 deletions
|
@ -74,7 +74,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
"""
|
||||
|
||||
import sys, os
|
||||
import textwrap
|
||||
from gettext import gettext as _, ngettext
|
||||
|
||||
|
||||
|
@ -252,6 +251,7 @@ class HelpFormatter:
|
|||
Format a paragraph of free-form text for inclusion in the
|
||||
help output at the current indentation level.
|
||||
"""
|
||||
import textwrap
|
||||
text_width = max(self.width - self.current_indent, 11)
|
||||
indent = " "*self.current_indent
|
||||
return textwrap.fill(text,
|
||||
|
@ -308,6 +308,7 @@ class HelpFormatter:
|
|||
indent_first = 0
|
||||
result.append(opts)
|
||||
if option.help:
|
||||
import textwrap
|
||||
help_text = self.expand_default(option)
|
||||
help_lines = textwrap.wrap(help_text, self.help_width)
|
||||
result.append("%*s%s\n" % (indent_first, "", help_lines[0]))
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Reduce the import time of :mod:`optparse` when no help text is printed.
|
||||
Patch by Eli Schwartz.
|
Loading…
Add table
Add a link
Reference in a new issue