我使用Python和努力如下如何从一个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模块执行上述所有系统命令?
我使用Python和努力如下如何从一个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
仅仅因为我通常在linux服务器上运行它来更新数据库并在cron作业的帮助下执行一些额外的操作。所以在服务器上也使用cron作业,不可能提供密码来运行脚本 – Fedrik 2013-02-27 07:18:59
@Fedrik:在这种情况下,听起来像问题是让该cron作业以root身份运行。 – 2013-02-27 20:40:07
错误表示您无权运行** updatedb **命令。 – Tuxdude 2013-02-27 07:00:26
这与它从Python调用的事实无关。你有没有尝试在命令行中运行'updatedb'?你几乎肯定会得到同样的错误。 – 2013-02-27 07:00:26
你确定这不仅仅是一个权限问题吗? – 2013-02-27 07:00:33