1. ホーム
  2. python

[解決済み] ping をテストする Python 関数

2022-03-02 08:26:46

質問

Pingがうまくいっているかどうかをチェックし、結果を返して画面表示を更新できるような関数を、時間ごとに呼び出せるようにしようとしています。私はパイソン初心者なので、関数内で値を返したり変数を設定したりする方法を完全に理解していません。

以下は、私の動作するコードです。

import os
hostname = "google.com"
response = os.system("ping -c 1 " + hostname)
if response == 0:
    pingstatus = "Network Active"
else:
    pingstatus = "Network Error"

以下は、私が試行錯誤して作成した関数です。

def check_ping():
    hostname = "google.com"
    response = os.system("ping -c 1 " + hostname)
    # and then check the response...
    if response == 0:
        pingstatus = "Network Active"
    else:
        pingstatus = "Network Error"

そして、次のように表示します。 pingstatus :

label = font_status.render("%s" % pingstatus, 1, (0,0,0))

そこで、私が探しているのは、関数からpingstatusを返す方法です。どんな助けでも大いに感謝します。

どのように解決するのですか?

を使いたいようですね。 return キーワード

def check_ping():
    hostname = "taylor"
    response = os.system("ping -c 1 " + hostname)
    # and then check the response...
    if response == 0:
        pingstatus = "Network Active"
    else:
        pingstatus = "Network Error"

    return pingstatus

などで、関数(pingstatus)の戻り値を変数に取り込む/「受け取る」必要があります。

pingstatus = check_ping()

NOTE ping -c はLinux用、Windowsは ping -n

Pythonの関数に関するいくつかの情報です。

http://www.tutorialspoint.com/python/python_functions.htm

http://www.learnpython.org/en/Functions

Pythonの入門チュートリアルで、基本的なことをすべて学ぶとよいでしょう。私は、次のことを調べることをお勧めします。 Udacity.com codeacademy.com