我有一个Whoosh(文件索引器)writer对象
>>> a
<whoosh.filedb.filewriting.SegmentWriter object at 0x013DFE10>
因为whoosh不允许多个编写器并实现线程安全(AFAIK!!),我希望在该对象被使用后将其关闭。在
^{pr2}$但它没有封闭的方法。我确信,所有成熟的python库对象都有内部函数,比如允许所有基本功能的-exit。关闭Python对象的正确方法是什么?还是取决于图书馆本身?我采用Python的“一种简单但显而易见的正确方法”的方法
这是dir(a)的粘贴:http://pastebin.com/Q5hceTr8
附言
我刚在前一天通过询问Confused about Python's with statement了解了with语句。这个问题是不同的,因为我需要一种处理全局对象的方法;这样我就可以在多次添加或删除之后进行提交。好像呼呼有搜索器。关闭()但不是索引器.close(),这似乎不一致
它们是这样的,而且您的pastebin指示这样的-请看顶部的
__exit__
?在这是一种用于实现以下功能的特殊方法。。。在
自动使用with块:
如果它有
__enter__
和__exit__
方法,这意味着它实现了context manager protocol,您应该这样使用它:其中
constructor
要么是类本身,要么是用来创建它的任何工厂函数。在Python2.5中,您需要from __future__ import with_statement
。在相关问题 更多 >
编程相关推荐