溫馨提示×

Python在CentOS中如何調用外部命令

小樊
34
2025-08-25 00:37:00
欄目: 編程語言

在Python中,你可以使用subprocess模塊來調用外部命令。subprocess模塊提供了一個簡單一致的方式來啟動新進程,連接它們的輸入/輸出/錯誤管道,并獲取它們的返回碼。

以下是一個簡單的例子,展示了如何在Python中使用subprocess模塊調用外部命令:

import subprocess

# 調用外部命令并獲取輸出
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 打印輸出結果
print("stdout:", result.stdout)
print("stderr:", result.stderr)
print("returncode:", result.returncode)

在這個例子中,我們使用subprocess.run()函數調用了ls -l命令。stdout=subprocess.PIPEstderr=subprocess.PIPE參數表示我們希望捕獲命令的標準輸出和標準錯誤。text=True參數表示我們希望以文本形式接收輸出,而不是字節形式。

subprocess.run()函數返回一個CompletedProcess對象,它包含了命令的輸出、錯誤和返回碼等信息。

如果你需要更多的控制,例如實時讀取輸出或與子進程進行交互,你可以使用subprocess.Popen類。以下是一個使用Popen的例子:

import subprocess

# 創建一個子進程
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 實時讀取輸出
for line in process.stdout:
    print(line, end='')

# 等待子進程完成并獲取返回碼
returncode = process.wait()
print("returncode:", returncode)

在這個例子中,我們使用subprocess.Popen創建了一個子進程,并通過process.stdout實時讀取輸出。process.wait()方法會等待子進程完成,并返回其返回碼。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女