我試圖創建一個小應用程序,當您長時間失去連接並播放另一個連接時建立連接播放聲音。用於無線連接。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機器上運行。 –