homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ilya
Recipients ilya
Date 2020年02月19日.02:18:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1582078726.23.0.378327205623.issue39683@roundup.psfhosted.org>
In-reply-to
Content
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.
History
Date User Action Args
2020年02月19日 02:18:46ilyasetrecipients: + ilya
2020年02月19日 02:18:46ilyasetmessageid: <1582078726.23.0.378327205623.issue39683@roundup.psfhosted.org>
2020年02月19日 02:18:45ilyalinkissue39683 messages
2020年02月19日 02:18:45ilyacreate

AltStyle によって変換されたページ (->オリジナル) /