2015-10-15 158 views
2

我是python編程新手。我想讓我的代碼繼續運行並繼續檢查我的IP地址。 `Python腳本繼續運行

#!/usr/bin/env python 
import os 

hostname = "192.168.254.102" #example 
response = os.system("ping -c 1 " + hostname) 

然後檢查響應...

if response == 0: 
    print(hostname, 'is up!') 
    os.system("sudo python ../aquarium/nightlight_on.py 1") 
else: 
    print(hostname, 'is down!') 

`

基本上,我不能代碼來檢查我的電話的IP地址,當我回到家腳本將開啓光。我測試的腳本,它工作得很好,如果你在終端運行它,但你需要sudo的蟒蛇scriptname.py第一 謝謝

+0

將腳本作爲sudo運行通常是一個壞主意(有時是必要的,但很少)。 – iLoveTux

回答

2

你可以使用Python scheduleopen source project這樣的:

#!/usr/bin/env python 
def job(): 
    import os 
    hostname = "192.168.254.102" #example 
    response = os.system("ping -c 1 " + hostname) 
    if response == 0: 
     print(hostname, 'is up!') 
     os.system("sudo python ../aquarium/nightlight_on.py 1") 
    else: 
     print(hostname, 'is down!') 

import schedule 
schedule.every(10).seconds.do(job) 

而且然後用UNIX &標誌運行python腳本作爲後臺進程:

$ sudo python yourScript.py & 

您可以pip安裝進度。當您的計算機重新啓動時,您仍然必須重新啓動該過程,或者創建一個新貴或systemd作業來處理該過程。

+0

希望它能幫助:) – rofls

+0

嗨fofls,我可以在一個錯誤 回溯(最近通話最後一個): 文件「check_ip.py」,第12行,在 導入計劃 導入錯誤:沒有模塊名爲時間表 這是輸入$ sudo python yourScript.py& ofcourse yourScript.py是我的腳本的名稱。 –

+1

我把它整理出來了......現在一切正常......我們這個人..非常感謝你 –