如何从eth0获取带宽使用python脚本?

时间:2016-09-14 15:49:54

标签: python ubuntu module bandwidth

ubuntu ifconfig中的Python:如何从设备eth0获取带宽值在python脚本中使用os模块ifconfig,如下所示:

$python script.py eth0
UP: 5 KB/sec
DOWN: 30.5 KB/sec

其中输出脚本可以每秒更改一次,值带宽使用Kb / s ?

1 个答案:

答案 0 :(得分:0)

您可以使用Psutil获取有关网络接口的信息,如下所示:

psutil.net_io_counters(pernic=True)

这将返回类似以下内容

{'awdl0': snetio(bytes_sent=0L, bytes_recv=0L, packets_sent=0L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0),
 'bridge0': snetio(bytes_sent=342L, bytes_recv=0L, packets_sent=1L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0),
 'en0': snetio(bytes_sent=0L, bytes_recv=0L, packets_sent=0L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0),
 'en1': snetio(bytes_sent=0L, bytes_recv=0L, packets_sent=0L, packets_recv=0L, errin=0L, errout=0L, dropin=0L, dropout=0),
 'en4': snetio(bytes_sent=68008896L, bytes_recv=1972984495L, packets_sent=776722L, packets_recv=1487084L, errin=0L, errout=10L, dropin=0L, dropout=0),
 'lo0': snetio(bytes_sent=87119711L, bytes_recv=87119711L, packets_sent=54606L, packets_recv=54606L, errin=0L, errout=0L, dropin=0L, dropout=0)}

您可以每秒测量一次发送/接收字节的差异,并打印上/下速度。如果您希望速度具有人类可读性,请查看您在this的方式。