我一直在python中编写代码来开发用于处理串行连接的库。碰巧python进程并没有结束我的程序,下次当我运行我的程序并尝试打开一个串口(我大部分时间都关闭)时,它返回一个windows错误5 ,Access被拒绝。
如果我手动检查任务栏并终止旧的python进程,我可以连接到com端口。我希望通过以下方式以编程方式处理此异常: 1.找到保存我的串口的旧进程并通过代码终止它。 2.在开始我的代码之前进行一些清理操作。
任何人都可以建议一些技巧吗? 顺便说一句,我只能使用Python 2.7
答案 0 :(得分:1)
这是所有程序遇到的限制。 (我在昂贵的商业产品中也发生过这种情况)
您可能会尝试拔出并重新插入串行适配器,但除此之外,最好只执行正确的异常处理(python非常适合),并确保在退出程序之前始终关闭端口。
最简单的形式是:
try:
# all your code...
except Exception as e:
print("unhandled exception: {}".format(str(e))
finally:
# close the serial port...
即使在您没有特定异常的处理程序的情况下,也始终保证能够点击将关闭/释放串行端口的代码。