国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

linux系統使用python監測網絡接口獲取網絡的輸入輸出

2019-11-25 18:34:16
字體:
來源:轉載
供稿:網友

net.py 獲取網絡接口的輸入和輸出

復制代碼 代碼如下:

#!/usr/bin/env Python
import time
import sys

if len(sys.argv) > 1:
 INTERFACE = sys.argv[1]
else:
 INTERFACE = 'eth0'
STATS = []
print 'Interface:',INTERFACE

def rx():
 ifstat = open('/proc/net/dev').readlines()
 for interface in  ifstat:
  if INTERFACE in interface:
   stat = float(interface.split()[1])
   STATS[0:] = [stat]

def tx():
 ifstat = open('/proc/net/dev').readlines()
 for interface in  ifstat:
  if INTERFACE in interface:
   stat = float(interface.split()[9])
   STATS[1:] = [stat]

print 'In   Out'
rx()
tx()

while True:
 time.sleep(1)
 rxstat_o = list(STATS)
 rx()
 tx()
 RX = float(STATS[0])
 RX_O = rxstat_o[0]
 TX = float(STATS[1])
 TX_O = rxstat_o[1]
 RX_RATE = round((RX - RX_O)/1024/1024,3)
 TX_RATE = round((TX - TX_O)/1024/1024,3)
 print RX_RATE ,'MB  ',TX_RATE ,'MB'

簡單說明一下清單 4:清單 4 讀取/proc/net/dev 中的信息,Python 中文件操作可以通過 open 函數,這的確很像 C 語言中的 fopen。通過 open 函數獲取一個 file object,然后調用 read(),write()等方法對文件進行讀寫操作。另外 Python 將文本文件的內容讀入可以操作的字符串變量非常容易。文件對象提供了三個“讀”方法: read()、readline() 和 readlines()。每種方法可以接受一個變量以限制每次讀取的數據量,但它們通常不使用變量。 .read() 每次讀取整個文件,它通常用于將文件內容放到一個字符串變量中。然而 .read() 生成文件內容最直接的字符串表示,但對于連續的面向行的處理,它卻是不必要的,并且如果文件大于可用內存,則不可能實現這種處理。.readline() 和 .readlines() 之間的差異是后者一次讀取整個文件,象 .read() 一樣。.readlines() 自動將文件內容分析成一個行的列表,該列表可以由 Python 的 for ... in ... 結構進行處理。另一方面,.readline() 每次只讀取一行,通常比 .readlines() 慢得多。僅當沒有足夠內存可以一次讀取整個文件時,才應該使用 .readline()。最后清單 4 打印出網絡接口的輸入和輸出情況。
可以使用 Python 命令運行腳本 net.py 結果見圖 4

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松潘县| 咸宁市| 东乡县| 玛曲县| 肃南| 伊春市| 安图县| 涞源县| 铜陵市| 泗洪县| 临潭县| 搜索| 宝山区| 保定市| 瑞安市| 博罗县| 黄龙县| 淳安县| 甘南县| 教育| 特克斯县| 南宫市| 张家港市| 桂阳县| 赤城县| 静宁县| 二连浩特市| 留坝县| 西平县| 伊通| 淮南市| 宝应县| 红桥区| 东兰县| 临泽县| 中西区| 河西区| 库车县| 陇南市| 济宁市| 安新县|