net.py 获取网络インターフェイスの入出力
if len(sys.argv) > 1:
INTERFACE = sys.argv[1]
else:
INTERFACE = 'eth0'
STATS = []
print 'Interface:',INTERFACE
def rx():
ifstat = open('/proc/net/dev').readlines()
ifstat のインターフェイスの場合:
if INTERFACE のインターフェイス:
stat = float (interface.split()[1])
STATS[0:] = [統計]
def tx():
ifstat = open('/proc/net/dev').readlines()
インターフェイスの場合 ifstat:
インターフェイスのインターフェイスの場合:
stat = float (interface.split()[9])
STATS[1:] = [統計]
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 を介してファイル オブジェクトを取得できます。次に、read()、write() などのメソッドを使用してファイルの書き込み操作を実行します。 さらに、Python では、操作可能な文字列をテキストに簡単に読み込むことができます。各メソッドは、毎回取得するデータ量を制限するために変数を受け取ることができますが、通常はファイルを読み込むために使用されません。ただし、.read() はファイルの内容を直接文字列で表示しますが、継続的な処理ではこれは必要なく、ファイルが内部に保存できるサイズを超える場合は実行できません。この処理を実行します。.readline() と .readlines() の違いは、後からファイル全体をオブジェクト .read() で取得することです。列表は Python の for ... in ... 構造で処理できます。一方、.readline() は毎回 1 行ずつ取得するだけですが、通常は .readlines() よりも時間がかかります。ファイルを取得するときは、.readline() を使用します。最後に、ネットワーク インターフェイスの入出力状況を出力します。
は、Python コマンドを使用して net.py を実行できます。 図 4