我正在使用以下代码在Linux/OSX上为Python库隐藏stderr我默认不控制写入stderr:
f = open("/dev/null","w")
zookeeper.set_log_stream(f)
是否有一个简单的跨平台替代/ dev/null?理想情况下,它不会消耗内存,因为这是一个长时间运行的过程.
msa*_*ers 130
os.devnull怎么样?
import os
f = open(os.devnull,"w")
zookeeper.set_log_stream(f)
Ale*_*lli 43
class Devnull(object):
    def write(self, *_): pass
zookeeper.set_log_stream(Devnull())
os.devnull当然打开也很好,但是这样每个输出操作都会发生(作为noop)"正在进行中" - 没有上下文切换到操作系统并返回,也没有缓冲(虽然一些缓冲通常由a使用open)因此甚至更少的内存消耗.
>>> import os
>>> os.devnull
'nul'
创建自己的文件类对象,什么都不做?
class FakeSink(object):
    def write(self, *args):
        pass
    def writelines(self, *args):
        pass
    def close(self, *args):
        pass
| 归档时间: | 
 | 
| 查看次数: | 28239 次 | 
| 最近记录: |