gpt4 book ai didi

python - 什么时候在 Pyserial 中使用 close() 和 __del__()?

转载 作者:行者123 更新时间:2023-11-28 18:03:52 25 4
gpt4 key购买 nike

根据 documentation ,类 serial.Serial() 具有以下方法。

close()
Close port immediately.

__del__()
Destructor, close port when serial port instance is freed.

我想知道什么时候应该使用close()__del__()?例如,我有一个 GUI,它创建了一个带有指定端口的 serial.Serial() 实例。根据文档,分配的端口将在 serial.Serial() 实例时打开。现在,当我终止我的 GUI 时,我说 __del__()(而不是 close())是关闭串行端口的最合适方法是否正确?

最佳答案

分析

如果我们看pyserial source我们看到:

class SerialBase(io.RawIOBase):

啊哈!让我们看看io.RawIOBase :

Base class for raw binary I/O. It inherits IOBase. There is no public constructor.

好的。在 IOBase 中寻找 __del__ 我们看到:

__del__() Prepare for object destruction. IOBase provides a default implementation of this method that calls the instance’s close() method.

结论

您可以使用 close()delwith-context - 它们都会关闭端口。

关于python - 什么时候在 Pyserial 中使用 close() 和 __del__()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54665017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com