我试图创建一个小应用程序,当您长时间失去连接并播放另一个连接时建立连接播放声音。用于无线连接。if语句子流程python不工作
我还是新来的Python :)尝试一些小项目来提高我的知识。如果你确实回答了,我会非常感谢你能否包含任何有关如何使用子进程的信息。
我已经定义了子进程,但我不知道如何将我的if语句加上字,以便从一个函数循环到另一个函数。 IE功能1 =中频ping损失> 15 ping播放声音并继续播放功能2 ...如果功能2 ping成功> 15 ping播放声音并返回到功能1.继续。
我还没有将程序包装在一个循环中,在这一点上,我只是试图让ping与if语句一起工作。
所以现在应用程序只是不断循环ping。
import os
import subprocess
import winsound
import time
def NetFail():
winsound.Beep(2000 , 180), winsound.Beep(1400 , 180)
def NetSucc():
winsound.Beep(1400 , 250), winsound.Beep(2000 , 250),
ips=[]
n = 1
NetSuccess = 10
NetFailure = 10
PinSuc = 0
PinFail = 0
x = '8.8.8.8'
ips.append(x)
for ping in range(0,n):
ipd=ips[ping]
def PingFailure():
while PinFail < NetSuccess:
res = subprocess.call(['ping', '-n', '10', ipd])
if ipd in str(res):
PingSuccess()
else:
print ("ping to", ipd, "failed!"), NetFail()
def PingSuccess():
while PinFail < NetFailure: # This needs to be cleaned up so it doesn't interfere with the other function
res = subprocess.call(['ping', '-n', '10', ipd])
if ipd in str(res):
PingFail()
else:
print ("ping to", ipd, "successful!"), NetSucc()
你想这是在Linux上运行(或其他类Unix)系统,还是在Windows上?不幸的是,'ping'命令的功能不一样... –
这将在Windows机器上运行。 –