【发布时间】:2016-07-23 06:00:10
【问题描述】:
我正在尝试设计一个类来管理 Linux 中的视频设备 (/dev/video*)。
由于我的C++背景,我自然认为我可以在构造函数中打开文件并在析构函数中关闭它。
后来我了解到python不保证何时/是否调用析构函数。
然后我想我可以制作自己的“初始化”和“取消初始化”方法来管理设备文件的打开/关闭,但是当对象被构造但未初始化以及当对象被反初始化但没有被破坏,此时对象没有有效的内部状态(方法大多是ioctls在打开的视频设备上)。
这意味着我需要在每个方法的开头验证对象状态,比如内置文件对象(f=open()、f.close)?或者只是让在已经取消初始化的对象上调用方法时发生 I/O 错误?
【问题讨论】:
标签: python