[英]Suppressing print output in python3 with file parameter
我有几个函数,我想设置详细级别。 目前,我正在处理它:
class Foo:
def __init__(self, foo_stuff, verbose=True):
self.print_file = None if verbose else open(os.devnull, 'w')
def do_stuff(self):
print('doing stuff', file=self.print_file)
这有效,但我不喜欢我从不关闭文件self.print_file.
为了清洁,我宁愿不用with open(...)
包装每一个打印功能。 我想知道是否有人可以提出另一种方法。 对于这个应用程序,我不认为python日志记录模块将工作。
atexit模块可能有所帮助。 在你的Foo类中编写一个清理函数并通过调用来注册它
atexit.register(function, args)
在程序退出之前调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.