将终端命令转换为子流程库

时间:2019-09-18 21:22:16

标签: python subprocess apple-configurator

我正在尝试从连接到Mac的iOS设备中提取数据。

我已在Configurator中启用了自动化工具选项,并且能够从终端使用cfgutil。

当我在终端中运行命令cfgutil --format JSON -f get ECID时,将返回一个带有"Devices"键的JSON密钥,该键的值中包含ECID列表。

当我尝试通过python脚本运行该命令时,我不断收到错误消息。

getDevices = subprocess.check_output(["cfgutil", "--format JSON", "-f", "get", "ECID"])

返回“ cfgutil:错误:未知选项'--format JSON'

有什么想法阻止Terminal仅运行命令并获取输出吗?

1 个答案:

答案 0 :(得分:1)

每个参数都必须是一个单独的列表元素,不能将--formatJSON放在同一字符串中。

getDevices = subprocess.check_output(["cfgutil", "--format", "JSON", "-f", "get", "ECID"])