我使用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