如何从python文件执行系统命令

如何从python文件执行系统命令,python,operating-system,command,execute,Python,Operating System,Command,Execute,我正在使用python并尝试执行一个系统命令,如下所示 code.py import commands import os os.system('updatedb') 结果: sh-4.2$ python code.py updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db' 那么,如何从python模块执行上述所有系统命令呢 这几乎肯定只是一个权限问题。 如果可以信任脚本以root用户身份运行:

我正在使用python并尝试执行一个系统命令,如下所示

code.py

import commands
import os

os.system('updatedb')
结果:

sh-4.2$ python code.py
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

那么,如何从python模块执行上述所有系统命令呢

这几乎肯定只是一个权限问题。 如果可以信任脚本以root用户身份运行:

$ sudo python code.py

这几乎可以肯定只是一个权限问题。 如果可以信任脚本以root用户身份运行:

$ sudo python code.py

该错误表明您没有运行updatedb命令的权限。这与从Python调用该命令无关。您是否尝试过在命令行中运行
updatedb
?你几乎肯定会遇到同样的错误。你确定这不仅仅是权限问题吗?是的,事实上,当我在终端中尝试它而没有进入根目录时。。。它显示相同的错误,但当我尝试从根目录执行成功。。。。因此,最终无法通过进入根目录或使此可执行文件从python获取rsult?错误表明您没有运行updatedb命令的权限。这与从python调用该命令无关。您是否尝试过在命令行中运行
updatedb
?你几乎肯定会遇到同样的错误。你确定这不仅仅是权限问题吗?是的,事实上,当我在终端中尝试它而没有进入根目录时。。。它显示相同的错误,但当我尝试从根目录执行成功。。。。因此,最终无法通过进入根目录或使此可执行文件从python获得结果?因为我通常在linux服务器上运行它来更新数据库,并在cron作业的帮助下执行一些额外的操作。所以在服务器中,使用cron作业也不可能提供密码来运行script@Fedrik:在这种情况下,问题似乎是让cron作业以root用户身份运行。因为我通常在linux服务器上运行它来更新数据库,并在cron作业的帮助下执行一些附加操作。所以在服务器中,使用cron作业也不可能提供密码来运行script@Fedrik:在这种情况下,问题似乎是让cron作业以root用户身份运行。