溫馨提示×

python cmd輸出怎樣解析

小樊
83
2024-11-17 01:27:57
欄目: 編程語言

在Python中,你可以使用subprocess模塊來執(zhí)行命令行指令并獲取輸出

import subprocess

# 執(zhí)行命令行指令
cmd = "echo 'Hello, World!'"
output = subprocess.check_output(cmd, shell=True, text=True)

# 解析輸出
print("Command output:", output.strip())

在這個例子中,我們執(zhí)行了一個簡單的echo命令。subprocess.check_output()函數(shù)用于執(zhí)行命令并獲取標準輸出。shell=True表示我們在shell環(huán)境中執(zhí)行命令,這在執(zhí)行包含管道、重定向等特性的命令時非常有用。text=True表示我們希望以文本形式接收輸出,而不是字節(jié)形式。

如果你需要解析更復(fù)雜的輸出,例如從命令行工具獲取結(jié)構(gòu)化數(shù)據(jù),你可以考慮使用subprocess.run()函數(shù)并結(jié)合適當(dāng)?shù)拿钚泄ぞ摺@?,如果你想要解析一個JSON格式的輸出,你可以這樣做:

import subprocess
import json

# 執(zhí)行命令行指令并捕獲輸出
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)

在這個例子中,我們執(zhí)行了一個包含JSON數(shù)據(jù)的echo命令。我們使用subprocess.run()函數(shù)捕獲標準輸出,然后使用json.loads()函數(shù)將輸出解析為Python字典。

0