在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字典。