mirror of
https://github.com/python/cpython.git
synced 2025-08-27 04:05:34 +00:00
Issue #24360: Improve __repr__ of argparse.Namespace() for invalid identifiers.
Patch by Matthias Bussonnier.
This commit is contained in:
parent
ada5578f95
commit
76b1714be8
3 changed files with 25 additions and 1 deletions
|
@ -118,10 +118,16 @@ class _AttributeHolder(object):
|
|||
def __repr__(self):
|
||||
type_name = type(self).__name__
|
||||
arg_strings = []
|
||||
star_args = {}
|
||||
for arg in self._get_args():
|
||||
arg_strings.append(repr(arg))
|
||||
for name, value in self._get_kwargs():
|
||||
arg_strings.append('%s=%r' % (name, value))
|
||||
if name.isidentifier():
|
||||
arg_strings.append('%s=%r' % (name, value))
|
||||
else:
|
||||
star_args[name] = value
|
||||
if star_args:
|
||||
arg_strings.append('**%s' % repr(star_args))
|
||||
return '%s(%s)' % (type_name, ', '.join(arg_strings))
|
||||
|
||||
def _get_kwargs(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue