首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >串行端口访问被拒绝错误

串行端口访问被拒绝错误
EN

Stack Overflow用户
提问于 2014-09-12 21:09:47
回答 1查看 2.4K关注 0票数 1

我一直在用python编写代码,以便开发一个处理串行连接的库。碰巧python进程不会随着我的程序结束而结束,下一次当我运行我的程序并试图打开一个串行端口(我几乎总是关闭它)时,它返回一个windows错误5,访问被拒绝。

如果我手动签入任务栏并终止旧的python进程,我就可以连接到com端口。我想通过以下方式程序化地处理这个异常: 1.找到持有我的串行端口的旧进程,并通过代码杀死它。2.在开始我的代码之前进行一些清理操作。

有没有人能推荐一些技巧?顺便说一下,我只能使用Python 2.7

EN

回答 1

Stack Overflow用户

发布于 2014-09-22 11:16:13

这是所有程序都会遇到的限制。(我也曾在昂贵的商业产品中遇到过这种情况)

您可以尝试拔出并重新插入串行适配器,但除此之外,最好只执行适当的异常处理( python非常适合),并确保在退出程序之前始终关闭端口。

最简单的形式是:

代码语言:javascript
复制
try:
    # all your code...
except Exception as e:
    print("unhandled exception: {}".format(str(e))
finally:
    # close the serial port...

即使在您没有针对特定异常的处理程序的情况下,也始终保证命中将关闭/释放串行端口的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25809098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档