我被赋予了一整天ping两个站点的任务,所以我创建了一个包含两个函数的函数,里面是ping1()和ping2()。当ping1()运行时,5分钟后应运行下一个ping2() 但我的问题是,它没有进入下一个功能。 我试过这段代码:
def run():
start_time = datetime.datetime.now()
tenmins_add = datetime.timedelta(seconds = 5)
add = start_time + tenmins_add
print(start_time.strftime("%H:%M:%S"))
print(add.strftime("%H:%M:%S"))
def ping1():
os.system("echo START PING 1 " + str(start_time.strftime("%H:%M:%S")) + "!~")
os.system("ping www.google.com")
os.system("echo PING 1")
def ping2():
os.system("echo START PING 2 " + str(start_time.strftime("%H:%M:%S")) + "!~")
os.system("ping www.facebook.com")
os.system("echo END OF PING 2")
ping1()
ping2()
while True:
os.system("clear")
run()
if datetime.datetime.now().strftime("%H:%M:%S") == add.strftime("%H:%M:%S"):
ping1().terminate()
else:
pass
我不知道我的代码中出了什么问题。
答案 0 :(得分:1)
代码将卡在os.system("ping www.google.com")
您需要做的是os.system("ping -i 1 -c 10 www.google.com")
-i
设置每次ping之间的间隔
-c
设置ping数
因此,给定的示例运行10秒,然后移动到下一行代码