bpo-39058: Preserve attribute order in argparse Namespace reprs. (GH-17621)
diff --git a/Lib/argparse.py b/Lib/argparse.py
index 9c710ce..2677ef6 100644
--- a/Lib/argparse.py
+++ b/Lib/argparse.py
@@ -129,7 +129,7 @@
return '%s(%s)' % (type_name, ', '.join(arg_strings))
def _get_kwargs(self):
- return sorted(self.__dict__.items())
+ return list(self.__dict__.items())
def _get_args(self):
return []
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 9899a53..e82a0c3 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -4725,7 +4725,7 @@
def test_namespace(self):
ns = argparse.Namespace(foo=42, bar='spam')
- string = "Namespace(bar='spam', foo=42)"
+ string = "Namespace(foo=42, bar='spam')"
self.assertStringEqual(ns, string)
def test_namespace_starkwargs_notidentifier(self):