python serial [Errno 13]权限被拒绝:/ dev / tty *

时间:2018-10-05 10:50:32

标签: linux python-3.x serial-port linuxmint

我尝试打开串行端口,但未获得许可。 但是可以和sudo一起使用。

我如何获得串行端口许可?

sas@sas-linuxmint ~ $groups sas
sas : sas adm tty dialout cdrom sudo dip plugdev lpadmin sambashare

这是我的代码:

def get_serial_port():
    ser_devs = [dev for dev in os.listdir('/dev') if dev.startswith('tty')]
    for i in ser_devs:
        port = "/dev/" + i
        try :
            ser = serial.Serial(port, 19200)
            if ser.is_open:
                print("OPEN!!!!!!!!!!!!!!!!!!!!!! {}".format(port))
            ser.close()
        except serial.SerialException as e:
            print(e, port)
    return None

输出:

[Errno 13] could not open port /dev/ttyprintk: [Errno 13] Permission denied: '/dev/ttyprintk' /dev/ttyprintk

所有端口。

我尝试更改端口的mod,但它也不起作用

sudo chmod 766 /dev/ttyS10
sudo chmod -R a+rw /dev/ttyS10
sudo chmod 777 /dev/ttyS10
sudo chmod 666 /dev/ttyS10

1 个答案:

答案 0 :(得分:0)

可能晚了 2 年,但您只需将用户添加到 tty 组 例如:

sudo usermod -a -G tty $USER

link