New submission from ilya <palachev.i...@yandex.ru>:
Consider the following code: import sys def foo(): print(1) def bar(): print(2) if input("case: ") == 1: sys.exitfunc = foo else: sys.exitfunc = bar 2to3 -f exitfunc suggests to fix it as follows: --- a.py (original) +++ a.py (refactored) @@ -1,4 +1,6 @@ import sys +import atexit +import atexit def foo(): print(1) @@ -7,6 +9,6 @@ print(2) if input("case: ") == 1: - sys.exitfunc = foo + atexit.register(foo) else: - sys.exitfunc = bar + atexit.register(bar) So it seems that it produces one import of atexit module per each use of sys.exitfunc. ---------- components: 2to3 (2.x to 3.x conversion tool) messages: 362245 nosy: ilya priority: normal severity: normal status: open title: 2to3 fix_exitfunc suggests duplicated import of atexit module type: behavior _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue39683> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com