我必须在python中打开一个类似文件的对象(它是通过/ dev /的串行连接),然后关闭它。这是在我的课堂的几种方法中完成的。我的工作方式是在构造函数中打开文件,然后在析构函数中关闭文件。我遇到了奇怪的错误,我认为这与垃圾收集器有关,因此,我仍然不习惯于不确切知道何时删除对象= \
我这样做的原因是因为tcsetattr
每次打开它时都必须使用大量参数,并且在整个地方进行所有操作都会很烦人。所以我想实现一个内部类来处理所有事情,这样我就可以使用它
with Meter('/dev/ttyS2') as m:
我当时在网上寻找,但找不到如何实现with
语法的真正好答案。我看到它使用__enter__(self)
和__exit(self)__
方法。但是,我要做的就是实现那些方法,并且可以使用with语法吗?还是还有更多呢?
是否已经有关于如何执行此操作的示例,或者是否已有文件说明了如何在我可以查看的文件对象上实现该文件?
def __enter__(self): return self
如果要Meter
在with块中引用。