在Python中,你可以使用subprocess
模塊來執行命令行指令并獲取輸出
import subprocess
# 執行命令行指令
cmd = "echo 'Hello, World!'"
output = subprocess.check_output(cmd, shell=True, text=True)
# 解析輸出
print("Command output:", output.strip())
在這個例子中,我們執行了一個簡單的echo
命令。subprocess.check_output()
函數用于執行命令并獲取標準輸出。shell=True
表示我們在shell環境中執行命令,這在執行包含管道、重定向等特性的命令時非常有用。text=True
表示我們希望以文本形式接收輸出,而不是字節形式。
如果你需要解析更復雜的輸出,例如從命令行工具獲取結構化數據,你可以考慮使用subprocess.run()
函數并結合適當的命令行工具。例如,如果你想要解析一個JSON格式的輸出,你可以這樣做:
import subprocess
import json
# 執行命令行指令并捕獲輸出
cmd = "echo '{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}'"
output = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE, text=True, check=True)
# 解析輸出為Python字典
data = json.loads(output.stdout)
print("Parsed data:", data)
在這個例子中,我們執行了一個包含JSON數據的echo
命令。我們使用subprocess.run()
函數捕獲標準輸出,然后使用json.loads()
函數將輸出解析為Python字典。