Python 是一種簡單易學,功能強大的編程語言。它被廣泛應(yīng)用于監(jiān)控主機網(wǎng)絡(luò)、數(shù)據(jù)分析、機器學習等領(lǐng)域。接下來,本文將為您介紹如何使用 Python 監(jiān)控主機網(wǎng)絡(luò)。
# 導入需要用到的庫 import psutil import time # 監(jiān)控主機網(wǎng)絡(luò)帶寬 def monitor_network(): network_io_counters = psutil.net_io_counters() bytes_sent = network_io_counters.bytes_sent bytes_recv = network_io_counters.bytes_recv time.sleep(1) network_io_counters = psutil.net_io_counters() bytes_sent_per_second = network_io_counters.bytes_sent - bytes_sent bytes_recv_per_second = network_io_counters.bytes_recv - bytes_recv return bytes_sent_per_second, bytes_recv_per_second # 監(jiān)控主機網(wǎng)絡(luò) while True: sent, recv = monitor_network() print(f"Sent: {sent} bytes/second") print(f"Recv: {recv} bytes/second")
以上代碼使用了 psutil 庫來獲取主機的網(wǎng)絡(luò)信息,實現(xiàn)了一個簡單的網(wǎng)絡(luò)流量監(jiān)測程序。它會定期地計算網(wǎng)絡(luò)數(shù)據(jù)的傳輸速率,并輸出到控制臺。
當然,如果您想將監(jiān)測結(jié)果保存到文件中,只需要稍微修改上面的代碼:
# 導入需要用到的庫 import psutil import time # 監(jiān)控主機網(wǎng)絡(luò)帶寬 def monitor_network(): network_io_counters = psutil.net_io_counters() bytes_sent = network_io_counters.bytes_sent bytes_recv = network_io_counters.bytes_recv time.sleep(1) network_io_counters = psutil.net_io_counters() bytes_sent_per_second = network_io_counters.bytes_sent - bytes_sent bytes_recv_per_second = network_io_counters.bytes_recv - bytes_recv return bytes_sent_per_second, bytes_recv_per_second # 監(jiān)控主機網(wǎng)絡(luò) while True: sent, recv = monitor_network() with open('network_stats.txt', 'a') as f: f.write(f"Sent: {sent} bytes/second\n") f.write(f"Recv: {recv} bytes/second\n") time.sleep(5)
修改后的代碼會把監(jiān)測結(jié)果保存到一個名為 “network_stats.txt” 的文件中,并且每 5 秒鐘更新一次監(jiān)測數(shù)據(jù)。
通過本文的介紹,相信您已經(jīng)了解了如何使用 Python 監(jiān)控主機網(wǎng)絡(luò)。在實際應(yīng)用中,您可以根據(jù)自己的需求進行修改,將監(jiān)測結(jié)果顯示到網(wǎng)頁上,或者繪制成圖表進行數(shù)據(jù)分析。