加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何在root / sudo中使用python subprocess.check_output

发布时间:2020-12-14 00:31:50 所属栏目:Linux 来源:网络整理
导读:我正在写一个将在Raspberry上运行的 Python脚本,它将从传感器读取温度并记录到Thingspeak.我有这个使用bash脚本,但不想用Python做,因为它更容易操作和检查读取值.传感器读数由名为loldht的库完成.我试图像这样做: from subprocess import STDOUT,check_outp
我正在写一个将在Raspberry上运行的 Python脚本,它将从传感器读取温度并记录到Thingspeak.我有这个使用bash脚本,但不想用Python做,因为它更容易操作和检查读取值.传感器读数由名为loldht的库完成.我试图像这样做:

from subprocess import STDOUT,check_output
output = check_output("/home/pi/bin/lol_dht22/loldht",timeout=10)

问题是我必须使用sudo运行库才能访问引脚.我将脚本作为cron运行.有可能用sudo运行吗?

或者我可以创建一个执行’sudo loldht’然后从python运行bash脚本的bash脚本吗?

解决方法

I will run the script as a cron. Is it possible to run this with sudo?

您可以将python script.py放在具有足够权限的用户的cron中(例如root或具有相关文件和设备权限的用户)

我不知道你正在使用哪个操作系统,但如果Raspbian接近Debian,则不需要sudo或root,只需使用具有足够权限的用户.

It seems I can also do this check_output check_output(["sudo","/home/pi/bin/lol_dht22/loldht","7"],timeout=10)

当然,但是要调用该Python脚本的unix用户需要sudo权限(否则无法从子进程调用sudo).在这种情况下,您可以执行上述操作,从具有所需权限的用户运行cron.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读