【问题标题】:How can I assign the following command to a variable and save the result?如何将以下命令分配给变量并保存结果?
【发布时间】:2022-01-10 15:10:52
【问题描述】:
import os
os.system("wget -O /dev/null http://65.0.164.107/5MB.zip 2>&1 |grep -o '[0-9.]\+ [KM]*B/s'")

上面的示例显示了互联网的下载速度,我必须将上面的结果分配给一个变量并执行进一步的操作。如何将上述 os.system 保存到变量中?

例如,上面的代码显示输出为

5 mb/s

我想把它分配给一个变量

import os
a = os.system("wget -O /dev/null http://65.0.164.107/5MB.zip 2>&1 |grep -o '[0-9.]\+ [KM]*B/s'")
print(a)

它应该像这样输出

5 Mb/s 或 5

我需要将该命令的输出分配给某个变量并将其用于进一步操作的解决方案。我尝试了很多解决方案,但都不起作用。

我只需要将命令值分配给变量,python中的任何方法都可以。

【问题讨论】:

  • 您是否已经尝试检查此answer?这个问题可能是重复的
  • 使用原生 Python(例如 urllib 或 requests)执行速度测试可能比运行 wget 等外部可执行文件更好。
  • 是的,我已经尝试过了,但它们导致错误@Elidor00
  • @jarmod 我需要尝试使用 wget 而不是原生 python

标签: python python-3.x linux


【解决方案1】:

您可以将输出保存到文件中,然后从您的 python 脚本中访问该文件:

import os

a = os.system("wget -O /dev/null http://65.0.164.107/5MB.zip 2>&1 |grep -o '[0-9.]\+ [KM]*B/s' >> /path/to/file.txt")
speed = readFile("/path/to/file.txt")

【讨论】:

    猜你喜欢
    • 2012-06-20
    • 1970-01-01
    • 2011-01-23
    • 2020-11-20
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    相关资源
    最近更新 更多