Heim > Backend-Entwicklung > Python-Tutorial > So zeigen Sie Systemnetzwerkverkehrsinformationen in Python an

So zeigen Sie Systemnetzwerkverkehrsinformationen in Python an

高洛峰
Freigeben: 2017-02-23 11:01:42
Original
1538 Leute haben es durchsucht

Vorwort

Verkehrsinformationen können direkt in /proc/net/dev angezeigt werden. Das vom Autor implementierte Programm verwendet den Befehl:

python net.py interface
Nach dem Login kopieren

wobei interface der Name der Netzwerkkarte ist, welche Netzwerkkarte verwendet werden soll und über welche Netzwerkkarten der Computer verfügt, können Sie

< verwenden 🎜>
sudo ifconfig
Nach dem Login kopieren

Überprüfen.

Das in Python implementierte Programm lautet wie folgt:

# coding:utf-8
import sys, time, os


&#39;&#39;&#39;
Inter-|  Receive                        | Transmit
 face |bytes  packets errs drop fifo frame compressed multicast|bytes  packets errs drop fifo colls carrier compressed
  lo:  28169   364  0  0  0   0     0     0  28169   364  0  0  0   0    0     0
 wlan1: 7432984  6018  0  0  0   0     0     0  681381  6115  0  0  0   0    0     0
vmnet1:    0    0  0  0  0   0     0     0    0   56  0  0  0   0    0     0
vmnet8:    0    0  0  0  0   0     0     0    0   55  0  0  0   0    0     0
 eth0:    0    0  0  0  0   0     0     0    0    0  0  0  0   0    0     0

&#39;&#39;&#39;

_unit_=[&#39;B&#39;,&#39;KB&#39;,&#39;MB&#39;,&#39;GB&#39;,&#39;TB&#39;]

def get_net_data(interface):
  for line in open(&#39;/proc/net/dev&#39;, &#39;r&#39;):
    if line.split(&#39;:&#39;)[0].find(interface)>=0:
      return map(int, line.split(&#39;:&#39;)[1].split())

def convert_bytes_to_string(b):
  cnt = 0
  while b >= 1024.0:
    b = float(b) / 1024.0
    cnt += 1
  return &#39;%.2f%s&#39;%(b,_unit_[cnt])

if __name__ == &#39;__main__&#39;:
  interface = sys.argv[1]
  while True:
    net_data = get_net_data(interface)
    receive_data_bytes = net_data[0]
    transmit_data_bytes = net_data[8]
    os.system(&#39;clear&#39;)
    print &#39;Interface:%s  -> Receive Data: %s  Transmit Data: %s&#39;%(interface, convert_bytes_to_string(receive_data_bytes), convert_bytes_to_string(transmit_data_bytes))
    time.sleep(1)
Nach dem Login kopieren

Das Programm Eintrag ist von , rufen Sie zuerst

durch die Parameter ab, rufen Sie dann die Funktion if name=='main' auf, um die Verkehrsinformationen abzurufen, gefolgt von einer Datenverarbeitung. interfaceget_net_data()

ZusammenfassungDas Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium oder die Arbeit aller hilfreich sein wird. Wenn Sie Fragen haben, können Sie zur Kommunikation eine Nachricht hinterlassen.

Weitere Informationen zum Anzeigen des Systemnetzwerkverkehrs in Python finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage