Message308219
Usually, I use print(sorted(os.environ)) since I prefer a sorted list and it prevents such issue :-)
David:
> I agree that the result is surprising, but there may not be a generic fix.
What about something like:
vstinner@apu$ ./python -c 'import os; print(os.environ.keys())'
<KeysView ['LS_COLORS', 'XDG_MENU_PREFIX', 'LANG', 'GDM_LANG', 'HISTIGNORE', 'HISTCONTROL', 'DISPLAY', 'HOSTNAME', 'EDITOR', 'COLORTERM', 'DESKTOP_AUTOSTART_ID', 'USERNAME', 'XDG_VTNR', 'SSH_AUTH_SOCK', 'XDG_SESSION_ID', 'USER', 'DESKTOP_SESSION', 'GTK2_RC_FILES', 'PWD', 'SSH_ASKPASS', 'HOME', 'JOURNAL_STREAM', 'XDG_SESSION_TYPE', 'XDG_DATA_DIRS', 'XDG_SESSION_DESKTOP', 'LOADEDMODULES', 'MAIL', 'WINDOWPATH', 'VTE_VERSION', 'TERM', 'SHELL', 'QT_IM_MODULE', 'XMODIFIERS', 'XDG_CURRENT_DESKTOP', 'XDG_SEAT', 'SHLVL', 'PYTHONPATH', 'WINDOWID', 'MODULEPATH', 'GDMSESSION', 'GNOME_DESKTOP_SESSION_ID', 'LOGNAME', 'DBUS_SESSION_BUS_ADDRESS', 'XDG_RUNTIME_DIR', 'XAUTHORITY', 'PATH', 'PS1', 'MODULESHOME', 'MAKEFLAGS', 'HISTSIZE', 'SESSION_MANAGER', 'LESSOPEN', 'BASH_FUNC_module%%', 'BASH_FUNC_scl%%', '_', 'OLDPWD']>
vstinner@apu$ git diff
diff --git a/Lib/_collections_abc.py b/Lib/_collections_abc.py
index a5c7bfcda1..5e524dffbf 100644
--- a/Lib/_collections_abc.py
+++ b/Lib/_collections_abc.py
@@ -719,6 +719,9 @@ class KeysView(MappingView, Set):
def __iter__(self):
yield from self._mapping
+ def __repr__(self):
+ return '<KeysView %r>' % list(self)
+
KeysView.register(dict_keys)
list(key_view) is valid. I mimicked dict views implementation:
static PyObject *
dictview_repr(_PyDictViewObject *dv)
{
PyObject *seq;
PyObject *result;
seq = PySequence_List((PyObject *)dv);
if (seq == NULL)
return NULL;
result = PyUnicode_FromFormat("%s(%R)", Py_TYPE(dv)->tp_name, seq);
Py_DECREF(seq);
return result;
} |
|
Date |
User |
Action |
Args |
2017-12-13 16:59:23 | vstinner | set | recipients:
+ vstinner, rhettinger, r.david.murray, Aaron.Meurer, cheryl.sabella |
2017-12-13 16:59:23 | vstinner | set | messageid: <1513184363.21.0.213398074469.issue32300@psf.upfronthosting.co.za> |
2017-12-13 16:59:23 | vstinner | link | issue32300 messages |
2017-12-13 16:59:23 | vstinner | create | |
|