2015-10-15 157 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

我把它整理出来了......现在一切正常......我们这个人..非常感谢你 –