|
|
|
|
|
by eesmith
2076 days ago
|
|
"Readable" is in the eye of the beholder, which is why I commented that this was something I personally found useful, rather than one of the two subtle flaws I mentioned. I can also disable all print statements with "def print(* args, * * kwargs): pass" at the top of the module. I've had times where I couldn't figure out where a print was coming from, so I could replace print() to check the arguments passed in: import builtins
builtin_print = builtins.print
def my_print(*args, **kwargs):
if "looking for" in args: # adjust as appropriate
1/0
return builtin_print(*args, **kwargs)
builtins.print = my_print
Previously I had to do that by wrapping sys.stdout with my own file-like object, to intercept write(). (Granted, not hard, but harder.) |
|