我有几个函数要设置其详细程度。目前,我的处理方式如下:
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日志记录模块不起作用。
答案 0 :(得分:1)
atexit模块可能会有所帮助。在您的Foo类中编写一个清理函数,然后通过调用
进行注册atexit.register(function, args)
在程序退出之前被调用。