我想让我的串行连接自动通过代码获得许可,而不是每次都要使用终端来授予许可。
我尝试使用import os使用os.system()自动授予权限,但始终会拒绝权限。
def checkConnection(password):
if os.path.exists('/dev/ttyUSB0'):
usb = '/dev/ttyUSB0'
os.system('echo password | sudo chmod 666 /dev/ttyUSB0')
return usb
elif os.path.exists('/dev/ttyUSB1'):
usb = '/dev/ttyUSB0'
os.system('echo password | sudo chmod 666 /dev/ttyUSB1')
return usb
else:
print('Is there a console connected?')
我一直遇到的错误是
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/ttyUSB0'
答案 0 :(得分:0)
我明白了您要实现的目标,我听到了您在说什么,但这不是正确的方法。使用echo password
既不合理,也不给设备提供666
的想法。只需将您的用户添加到拥有设备的组中,然后将其保留。