You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python获取当前实时网络网速,psutil返回值无变化问题咨询

问题原因

  • psutil.net_io_counters() 返回的是系统开机以来对应网卡的累计收发字节总量,你单次打印的数值是从开机到当前的累计总接收字节,本身就是基数极大的增长值,短时间内新增的流量和累计总量相比占比极低,自然只会看到最后三位发生变动。你在任务管理器看到的实时网速是单位时间内的流量增量,和你当前获取的累计值不是同一个统计维度。
  • 存在网卡匹配错误的可能。如果你当前实际联网用的是Wi-Fi、虚拟网卡、其他物理以太网接口,硬编码读取"Ethernet"网卡的统计值,自然不会和你实际使用的网络流量同步,看起来就像数值没有明显变化。

所需额外处理步骤

  1. 先确认你正在使用的活跃网卡名称,运行以下代码打印所有网卡的统计信息,匹配你当前在用的网卡名:
import psutil
for nic_name, stats in psutil.net_io_counters(pernic=True).items():
    print(f"网卡名:{nic_name} | 累计接收字节:{stats.bytes_recv}")
  1. 实时网速需要通过两次采样的流量差值除以采样间隔计算得到,同时需要做单位转换(1 Mbps = 1秒传输1*10^6比特,1字节=8比特),示例代码如下:
import psutil
import time

# 替换为上一步查到的实际在用网卡名
USE_NIC = "Ethernet"

last_recv = psutil.net_io_counters(pernic=True)[USE_NIC].bytes_recv
# 采样间隔1秒,可根据需求调整
time.sleep(1)
current_recv = psutil.net_io_counters(pernic=True)[USE_NIC].bytes_recv

# 计算速率并转换为Mbps单位
download_speed_mbps = (current_recv - last_recv) * 8 / 1000 / 1000
print(f"当前下载速率:{download_speed_mbps:.2f} Mbps")

内容的提问来源于stack exchange,提问作者Wilmer Kluever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:57:02