Python 可以通過 subprocess 模塊調用 Linux 命令。下面是幾個例子:
1.執行一個簡單的命令,例如ls命令,可以使用subprocess.run()方法:
import subprocess
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode())
2.執行一個需要輸入的命令,例如sudo命令,可以使用subprocess.Popen()方法:
import subprocesssudo_password = 'mypassword'
command = 'sudo ls -l'
# 構建一個 Popen 對象來執行進程
p = subprocess.Popen(['sudo', '-S'] + command.split(), stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True)
# 向進程輸入密碼
sudo_prompt = p.communicate(sudo_password + ' ')[1]
# 輸出進程的結果
print(sudo_prompt)
在python中調用linux時常見的錯誤包括:
找不到命令或文件:如果您在執行命令時遇到此錯誤,那麼您需要檢查命令的路徑和文件名是否正確,並且確保您有執行該命令的許可權。
許可權不足:如果您在執行命令時遇到此錯誤,那麼您需要確保您有執行該命令的許可權,並且您的 Python 程序以足夠的許可權運行。
輸出重定向錯誤:如果您在執行命令時將輸出重定向到文件或者管道中,那麼您需要確保輸出文件或管道已經正確創建,並且您有足夠的許可權寫入數據。
為了避免出現錯誤,建議在編寫 Python 程序時,對命令進行封裝,以確保其安全性、可靠性和可維護性。