用于测试 ping 的 Python 函数

标签 python function variables return

我正在尝试创建一个函数,我可以定时调用该函数来检查是否有良好的 ping 并返回结果,以便我可以更新屏幕显示。我是 python 新手,所以我不完全了解如何在函数中返回值或设置变量。

这是我的有效代码:

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

注意:ping -c 适用于 Linux,Windows 使用 ping -n

关于python函数的一些信息:

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

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

可能值得阅读一个很好的 Python 入门教程,它将涵盖所有基础知识。我建议调查 Udacity.comcodeacademy.com

编辑:现在这是一个老问题,但是.. 对于未定义 pingstatus 或返回意外值的人,首先确保您的代码是正确的。然后尝试在 if block 之前定义 pingstatus。这可能会有所帮助,但这种变化引起的问题是另一个问题。一切顺利。

关于用于测试 ping 的 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26468640/

相关文章:

Java奇怪的变量赋值查询

javascript - 如何使用 jQuery 删除变量上的 '_' 前缀?

python - 主机命令和 ifconfig 给出不同的 ips

python - Pandas to_csv 仅保存上次运行脚本的数据。如何创建一个大表来保存所有模拟?

python - Python中的公元前日期

c++ - 同名虚成员函数的继承

c++ - const vs constexpr 变量

Python 将字符连接到列表

javascript - 函数超时 (jQuery)

python - 函数定义、类型错误