如何在rootsudo中使用python subprocess.check_output

如何在rootsudo中使用python subprocess.check_output,第1张

概述我正在写一个将在Raspberry上运行的 Python脚本,它将从传感器读取温度并记录到Thingspeak.我有这个使用bash脚本,但不想用Python做,因为它更容易 *** 作和检查读取值.传感器读数由名为loldht的库完成.我试图像这样做: from subprocess import STDOUT, check_outputoutput = check_output("/home/pi/ 我正在写一个将在RaspBerry上运行的 Python脚本,它将从传感器读取温度并记录到Thingspeak.我有这个使用bash脚本,但不想用Python做,因为它更容易 *** 作和检查读取值.传感器读数由名为loldht的库完成.我试图像这样做:

from subprocess import STDOUT,check_outputoutput = 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.

总结

以上是内存溢出为你收集整理的如何在root / sudo中使用python subprocess.check_output全部内容,希望文章能够帮你解决如何在root / sudo中使用python subprocess.check_output所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1023606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存