实时网速显示_实例_python

import psutil
import time
from tkinter import *

def make_app():
    app =Tk()
    app.geometry('200x100')
    app.config(bg='#303030')
    Label(text='实时网速监控',font=('Hack',23,'bold'),bg='#303030',fg='white').pack()
    Label(name='lb2',text='_kb/s'     ,font=('Hack',20,'bold'),bg='#303030',fg='white').pack()
    return app

def speed_test():

    s1 = psutil.net_io_counters(pernic=True)['本地连接']
    time.sleep(1)
    s2 = psutil.net_io_counters(pernic=True)['本地连接']
    result = s2.bytes_recv - s1.bytes_recv
    #除法结果保留两位小数
    return str('%.2f'%(result / 1024)) + 'kb/s'

def ui_updata(do):
    data = do()
    #app下名字是lb2的子控件
    lb2  = app.children['lb2']
    #配置,替换原来的text
    lb2.config(text=data)
    #每1秒后调用lambda:ui_updata(do)函数
    app.after(1000,lambda:ui_updata(do))

app = make_app()
#每1秒后调用ui_updata(speed_test)函数
app.after(1000,lambda :ui_updata(speed_test))
app.mainloop()
import psutil
import time

#获取网卡名称和其ip地址,不包括回环
def get_netcard(): 
	netcard_info = [] 
	info = psutil.net_if_addrs() 
	for k,v in info.items(): 
		for item in v:
			if item[0] == 2 and not item[1]=='127.0.0.1':  
				netcard_info.append((k,item[1])) 
	print(netcard_info)

get_netcard()
while True:
	s1 = psutil.net_io_counters(pernic=True)['本地连接']
	time.sleep(1)
	s2 = psutil.net_io_counters(pernic=True)['本地连接']
	result1 = s2.bytes_sent - s1.bytes_sent #上传
	result2 = s2.bytes_recv - s1.bytes_recv #下载

	#除法结果保留两位小数
	print(str('%.2f'%(result1 / 1024)) + ' kb/s',str('%.2f'%(result2 / 1024)) + ' kb/s')

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值