【发布时间】:2019-08-05 23:23:23
【问题描述】:
我正在使用一个名为 Rplidar 的传感器。要将 Rplidar 连接到我的操作系统(Ubuntu),有时我必须在终端中使用此命令:
sudo chmod 666 /dev/ttyUSB0
运行这条指令后,ubuntu可以检测到Rplidar。稍后,我将运行一个 python 脚本来使用 Rplidar。现在我想在我的 python 脚本中包含这个命令,这样在使用 Rplidar 之前我不需要在终端中运行它。有什么办法可以在 python 脚本中做到这一点?
【问题讨论】:
-
os.system("sudo chmod 666 /dev/ttyUSB0")但我不确定如果系统要求输入密码会怎样。 -
或 subprocess.run("sudo chmod 666 /dev/ttyUSB0")
-
os.system("echo password | sudo -S chmod 666 /dev/ttyUSB0")? -
您应该修复对设备节点的访问,而不是运行
chmod。在大多数情况下,您只需将用户放入一个组(拥有该节点的那个),然后注销并重新登录。如果失败,您应该编写一个 udev 规则。