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() 関数が呼び出されます。
Contents [show]
インターネット速度とは
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