function adjustment (python)
979 ワード
Following is a code fragment from bitbake script in BitBake project.
This fragment shows how to make some small adjustments to an existing function without changing its interface.
Here's another ugly demo.
This fragment shows how to make some small adjustments to an existing function without changing its interface.
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
warnlog.warn(s)
warnings.showwarning = _showwarning
Here's another ugly demo.
def func(num):
print num
return
def runtest():
func(1)
func(2)
func(3)
func(4)
return
runtest()
_old_func = func
def _new_func(num):
if (num%2 == 0):
_old_func(num)
else:
print "odd"
return
func = _new_func
runtest()