On 2010-05-19 07:34:37 -0700, Steven D'Aprano said:
# Untested. def verbose_print(arg, level, verbosity=1): if level <= verbosity: print arg def my_function(arg): my_print(arg, level=2) return arg.upper() if __name__ == '__main__': if '--verbose' in sys.argv: my_print = functools.partial(verbose_print, verbosity=2) elif '--quiet' in sys.argv: my_print = functools.partial(verbose_print, verbosity=0) my_function("hello world") Note that although there is no verbosity global setting, every function that calls my_print will do the right thing (unless I've got the test backwards...), and if a function needs to override the implicit verbosity setting, it can just call verbose_print directly.
-- http://mail.python.org/mailman/listinfo/python-list