Python网络流量监视程序设计与实现
1.实验目的
(1)了解计算机网络的相关基础知识。
(2)了解网络流量的计算方法。
(3)熟练安装Python扩展库psutil.
(4)了解Python扩展库psutil中网络相关函数的用法。
(5)熟练使用内置函数map()。
(6)熟练使用lambda表达式作为函数参数的用法。
(7)熟练使用字符串格式化方法。
2.实验内容
编写程序,实现网络流量监控,实时显示当前上行速度和下行速度,如图所示。
相关代码
import psutil
import time
def get_net_speed(interval):
net_msg = psutil.net_io_counters()
bytes_sent, bytes_recv = net_msg.bytes_sent, net_msg.bytes_recv
time.sleep(interval)
time1 = int(time.time())
net_msg = psutil.net_io_counters()
bytes_sent2, bytes_recv2 = net_msg.bytes_sent, net_msg.bytes_recv
bytes_sent3 = bytes_sent2 - bytes_sent
bytes_recv3 = bytes_recv2 - bytes_recv
return bytes_sent3, bytes_recv3
while True:
x1, x2 = get_net_speed(1)
print("↑{:.6f} KBytes/s ↓{:.6f} KBytes/s".format(x1/1024, x2/1024))
检测密码安全强度
一般地,可以作为密码字符的主要有数字、小写字母、大写字母和几个标点符号。密码安全强度主要和字符串的复杂程度有关系,字符串中包含的字符种类越多,认为其安全强度越高。按照这个标准,可以把安全强度分为强密码、中高、中低、弱密码。其中强密码表示字符串中同时含有数字、小写字母、大写字母、标点符号这4类字符,而弱密码表示字符串中仅包含4类字符中的一种。
编写程序,输入一个字符串,输出该字符串作为密码时的安全强度。
import string
lib = {'low': string.ascii_lowercase, 'up': string.ascii_uppercase,
'num': string.digits, 'pun': ',.!;?<>'} # 利用字典结构,构建分类的密码可用字符集
while True:
pwd = input("请输入密码(长度不小于6个字符)").strip()
if len(pwd) >= 6:
break
print("密码长度低于6个字符,请重新输入")
low = up = num = pun = 0
for i in pwd: # 分别判断密码中是否有某类字符
if (i in lib['low']):
low = 1
if (i in lib['up']):
up = 1
if (i in lib['num']):
num = 1
if (i in lib['pun']):
pun = 1
s = low+up+num+pun
rtStr = ["弱", "中低", "中高", "强"]
print("密码{}是{}密码".format(pwd, rtStr[s-1]))