#編碼:utf-8
導入psutil
導入時間
導入系統
從optparse導入選項解析器
parser = OptionParser()
parser.add_option("-t ","- time ",dest="time ",
Help= "該參數可以查看當前下載占用的帶寬,-t為測試時間",metavar="10 ")。
parser.add_option("-d ","- deamon ",action="store_false ",dest="deamon ",default=True,
Help= "在後臺運行此腳本")
def系統信息():
boot _ Start = time . strftime(" % Y-% M-% d % H:% M:% S ",time . local time(psutil . boot _ time()))
時間.睡眠(0.5)
Cpu_usage = psutil.cpu_percent()
RAM = int(psutil.virtual_memory()。總計/(1027*1024))
RAM _ percent = PS util . virtual _ memory()。百分比
Swap = int(psutil.swap_memory()。總計/(1027*1024))
swap _ percent = psutil . swap _ memory()。百分比
net _ sent = PS util . net _ io _ counters()。發送的字節數
net _ recv = PS util . net _ io _ counters()。字節_接收
net _ spkg = PS util . net _ io _ counters()。發送的數據包
net _ rpkg = PS util . net _ io _ counters()。數據包_接收
BFH = r“%”
打印" \ 033[1;32m啟動時間:% s \ 033[1;m" % Boot_Start
打印" \ 033[1;32m當前CPU利用率:% s % s \ 033[1;m" % (Cpu使用率,BFH)
打印" \ 033[1;32m物理內存:% dm \用法:% s % s \ 033[1;m" % (RAM,RAM_percent,BFH)
打印" \ 033[1;32m交換內存:% dm \用法:% s % s \ 033[1;m" %(互換,互換百分比,BFH)
打印" \ 033[1;32m發送:%d字節\ t發送的數據包數:% d \ 033[1;m" % (Net_sent,Net_spkg)
打印" \ 033[1;32m接收:%d字節\ t接收的數據包數量:% d \ 033[1;m" % (Net_recv,Net_rpkg)
對於psutil.disk_partitions()中的I:
打印" \ 033[1;32m驅動器號:%s裝入點:%s用法:% s % s \ 033[1;m" % (i[0],i[1],psutil . disk _ usage(I[1])[3],BFH)
定義網絡io:
x = 0
總和= 0
雖然正確:
如果x & gt= s:
破裂
r 1 = p util . net _ io _ counters()。字節_接收
時間.睡眠(1)
r2 = psutil.net_io_counters()。字節_接收
y = r2 - r1
打印" %.2f Kb/s" % (y / 1024.0)
總和+= y
x += 1
結果=總和/ x
打印" \ 033[1;32m%s秒內的平均速度:% . 2f Kb/s \ 033[1;m" % (x,結果/ 1024.0)
if __name__ == "__main__ ":
(options,args) = parser.parse_args()
if options.time:
Net_io(int(options.time))
否則:
Sysinfo()