Python,使用subprocess.call以root身份从导入的模块调用函数

时间:2016-05-27 00:52:49

标签: python shell import subprocess root

我有一个使用导入模块中的函数的python脚本。我没有超级用户权限就无法运行我调用的函数,我不打算每次都使用sudo python myscript.py

import mymodule
import subprocess, sys

#some code here...
value_returned = subprocess.call(['sudo', sys.executable, mymodule.myrootfunction()])
#more code here

这仍然需要root权限,并且不允许我执行我的功能。我尝试了subprocess.call的许多不同版本,包括subprocess.call(['sudo',sys.executable,"mymodule.py"]),但仍然没有成功。有没有办法调用一个需要root的方法而不在python中以root身份显式运行脚本?

我尝试使用chmodchown更改我的脚本将访问的文件的权限(/ dev / mem),但唯一有效的方法是以超级用户身份运行我的脚本,这不是我想要的。

如何从python中以root身份从模块调用函数? 我的目标不是从python中调用外部shell命令,而是调用方法。这可行吗?

0 个答案:

没有答案