已解決:使用 python 檢查互聯網速度

使用 Python 檢查互聯網速度的主要問題是沒有標準化的方法來做到這一點。 不同的程序會給你不同的結果,即使一個程序說你的連接速度很快,但實際情況可能並非如此。

import speedtest import os import time def test_speed(): s = speedtest.Speedtest() s.get_best_server() s.download() s.upload() return s.results.dict()['download'] / 8000000,  s.results.dict()['upload'] / 8000000,  s.results.dict()['ping'] def main(): while True: download, upload, ping = test_speed() print('Download: {:0.2f} MbpstUpload: {:0.2f} MbpstPing: {} ms'.format(download, upload, ping)) time.sleep(5) if __name__ == '__main__': main()

前三行導入了 speedtest、os 和 time 模塊。

下一行定義了一個名為 test_speed() 的函數。 此函數使用 speedtest 模塊來測試互聯網連接的速度並返回結果。

下一行定義了一個名為 main() 的函數。 此函數調用 test_speed() 函數並打印結果。 然後它會在重複之前休眠 5 秒。

最後,如果此文件作為腳本運行(而不是作為模塊導入),則調用 main() 函數。

什麼是網速

Python 中的互聯網速度可以用每秒字節數來衡量。

網速服務

有幾種不同的方法可以在 Python 中測量 Internet 連接的速度。 最簡單的方法是使用內置函數 time 。 time() 以秒為單位打印當前時間。

測量 Internet 連接速度的第二種方法是使用 netstat 命令。 netstat 顯示所有活動的網絡連接及其狀態。 要獲取有關特定網絡連接速度的信息,請使用 -i 選項:

$ 網絡統計 -i | grep “:80” 活動互聯網連接(服務器和客戶端) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 ::::* 聽 672/docker tcp6 0 1 ::1:80 ::::* 聽 672/docker

相關文章:

發表評論