Ethan Furman <[email protected]> added the comment:
This issue is not unique to Enum, and is not an Enum problem.
What is happening is that "test.py" has the `__name__` of `__main__` because it
is being directly executed from the command line, but when `test2.py` imports
it, it is being re-executed and everything inside is re-created -- so you end
up with two copies of everything in that module.
You can also see this issue if you manage to import a module under two
different names (usually by messing with `sys.path`).
To see it yourself, add a custom __str__ to A:
def __str__(self):
return "%s.%s.%s" % (
__name__,
self.__class__.
__qualname__, self._name_,
_)
Then your print() will show:
__main__.A.a test.A.a
----------
resolution: -> not a bug
stage: -> resolved
status: open -> closed
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42953>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com