首页 > 解决方案 > 无法从 python 使用 Ookla 的 Speedtest 命令(参数无效)

问题描述

我希望使用 Ookla 的SpeedTest CLI(在尝试了我不喜欢的其他 Python 库之后)。

我想从 python 脚本中发出“speedtest -f json”命令并解析结果。

我目前坚持以下代码:

import subprocess


process = subprocess.Popen(['/usr/local/bin/speedtest', '-f json'],
                           stdout=subprocess.PIPE,
                           stderr=subprocess.PIPE)
stdout, stderr = process.communicate()

仅填充 stderr 变量,说明

[error] Invalid output format specified:  json

在命令行上给出的语法很好。

我究竟做错了什么?

非常感谢

PS 最终目标将是监控结果,当它们低于给定阈值时给我发送电子邮件,但这是最终目标。

标签: pythonjsonpython-3.xmacos

解决方案


我可以让它这样工作:

response = subprocess.Popen('speedtest -f json', shell=True, stdout=subprocess.PIPE).stdout.read()

推荐阅读