New submission from ilya <[email protected]>:
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 <[email protected]>
<https://bugs.python.org/issue39683>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com