[Python-Dev] switching on -3 from within a program?
Nick Coghlan
ncoghlan at gmail.com
Wed Sep 17 12:06:18 CEST 2008
Benjamin Peterson wrote:
> def engage_py3k_warning():
> flag = ctypes.c_int.in_dll(ctypes.pythonapi, "Py_Py3kWarningFlag")
> flag.value = 1
Note that tricks like this won't necessarily enable all python 3
warnings for modules that have been imported before the flag gets set.
To avoid unnecessary performance penalties as a result of Py3k warnings,
modules are permitted to do things like:
def func():
# Do whatever
if sys.py3kwarning:
_orig_func = func
def func():
warnings.py3kwarn("Goes away in 3.0")
_orig_func()
Modules that are first imported after the flag has been set will
obviously have all of their warnings properly enabled.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://www.boredomandlaziness.org
More information about the Python-Dev
mailing list