gpt4 book ai didi

python - 如何在 python 中运行 chmod?

转载 作者:太空宇宙 更新时间:2023-11-04 09:26:31 30 4
gpt4 key购买 nike

我当时正在使用一种名为 Rplidar 的传感器。要将 Rplidar 与我的操作系统 (Ubuntu) 连接,有时我必须在终端中使用此命令:

sudo chmod 666 /dev/ttyUSB0  

运行该指令后,ubuntu 可以检测到Rplidar。稍后,我将运行一个 python 脚本来使用 Rplidar。现在我想将这个命令包含在我的 python 脚本中,这样我就不需要在使用 Rplidar 之前在终端中运行它。有什么方法可以在 python 脚本中完成吗?

最佳答案

简单的回答就是chmod是在Python的os模块中提供的:

所以你需要做的就是运行:

import os
filename = 'example.dat'
os.chmod(filename,
stat.S_IRUSR |
stat.S_IWUSR |
stat.S_IRGRP |
stat.S_IWGRP |
stat.S_IROTH)

因此无需掏钱即可正常执行此操作。另请查看 os.pathshutil 模块以获得该领域的更多支持。

如果您需要以提升的权限执行此操作,事情会变得有点复杂,但这实际上不是这里的解决方案。

此外,将666权限授予系统设备也不是一个好主意。当系统上的任何用户对系统设备具有读/写访问权限时,这可能会引发安全问题。原则上,使用正确操作所需的最少权限。

作为@KlausD。评论,无论如何你都不应该在这些设备节点上强制更改权限。正确的方法是执行一次性操作,将相关用户添加到系统上的 dialout 组。然后,通过在正确的组中,运行您的应用程序的用户将有权访问该设备。这已经在这里回答了:

只需运行一次:

sudo adduser kazi dialout

然后注销并重新登录使它生效。您的 Rplidar 应用程序将正常运行。

关于python - 如何在 python 中运行 chmod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57367119/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com