如何使用python关闭Windows 10中打开的端口?

时间:2018-09-27 15:47:32

标签: python windows port

我可以在第一次运行python脚本时控制我的设备,但是,如果我第二次尝试运行代码,则会出现以下错误:

SerialException: could not open port 'COM3': WindowsError(5, 'Access is denied.')

如果我禁用并启用端口,该代码将再次起作用。

主要问题是:如何关闭打开的端口?

我尝试使用以下代码关闭端口,但是它没有帮助:

import serial
ser = serial.Serial()
ser.baudrate = 38400
ser.port = 'COM3'
ser.close()

我将不胜感激任何建议和解决方案。

3 个答案:

答案 0 :(得分:1)

特别感谢@Pourya和@Jaba的帮助。

我要做的只是以下事情:

from pipython.interfaces.piserial import PISerial;
import serial


try:
  gateway = PISerial('COM3', 38400);
except serial.serialutil.SerialException:
  gateway.close();
  gateway = PISerial('COM3', 38400);

答案 1 :(得分:0)

在使用端口的过程中,很多时候我都收到此错误,大多数情况下,问题是使用端口的进程仍在运行,它可能处于while循环中,因此您应该终止运行代码或编写代码以打破循环的方式。

答案 2 :(得分:0)

我不确定Windows 10是否有所不同。尽管我进行了快速搜索,但发现了this。似乎我的预感是对的。 (或者至少我希望如此)

我的假设是您没有以管理员权限运行该程序。从cmd中以具有管理员权限的方式运行它,看看是否可行。

如果不是,请查看是否只是在设备管理器中禁用了端口。