解決済み: Python を使用してインターネット速度を確認する

Python を使用してインターネット速度をチェックする際の主な問題は、標準化された方法がないことです。 プログラムが異なれば結果も異なります。XNUMX つのプログラムで接続が高速であると表示されたとしても、実際にはそうではない可能性があります。

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()

最初の XNUMX 行は、speedtest、os、および time モジュールをインポートします。

次の行では、test_speed() という名前の関数を定義しています。 この関数は、speedtest モジュールを使用してインターネット接続の速度をテストし、結果を返します。

次の行では、main() という名前の関数を定義しています。 この関数は test_speed() 関数を呼び出し、結果を出力します。 その後、繰り返す前に 5 秒間スリープします。

最後に、このファイルが (モジュールとしてインポートされるのではなく) スクリプトとして実行される場合、main() 関数が呼び出されます。

インターネット速度とは

Python でのインターネットの速度は、XNUMX 秒あたりのバイト数で測定できます。

インターネット速度サービス

Python でインターネット接続の速度を測定するには、いくつかの方法があります。 最も簡単な方法は、組み込み関数 time を使用することです。 time() は、現在の時刻を秒単位で出力します。

インターネット接続の速度を測定する XNUMX つ目の方法は、netstat コマンドを使用することです。 netstat は、すべてのアクティブなネットワーク接続とそのステータスを表示します。 特定のネットワーク接続の速度に関する情報を取得するには、-i オプションを使用します。

$ netstat -i | grep “:80” アクティブなインターネット接続 (サーバーとクライアント) Proto Recv-Q Send-Q ローカル アドレス 外部アドレス 状態 PID/プログラム名 tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN 548/sshd tcp6 0 0 : ::80 :::* LISTEN 672/docker tcp6 0 1 ::1:80 :::* LISTEN 672/docker

関連記事:

コメント