python自动运行
# -*- coding:utf-8 -*-
import subprocess,time,sys
TIME = 3??????????????????? #程序狀態檢測間隔(單位:分鐘)
CMD = "D:\mycode\Techingpython\daily.py"???????????????? #需要執行程序的絕對路徑,支持jar 如:D:\\calc.exe 或者D:\\test.jar
?
class Auto_Run():
??? def __init__(self,sleep_time,cmd):
??????? self.sleep_time = sleep_time
??????? self.cmd = cmd
??????? self.ext = (cmd[-3:]).lower()??????? #判斷文件的后綴名,全部換成小寫
??????? self.p = None??????????????????????? #self.p為subprocess.Popen()的返回值,初始化為None
??????? self.run()?????????????????????????? #啟動時先執行一次程序
??????? try:
??????????? while 1:
??????????????? time.sleep(sleep_time * 6)? #休息10分鐘,判斷程序狀態
??????????????? self.poll = self.p.poll()??? #判斷程序進程是否存在,None:表示程序正在運行 其他值:表示程序已退出
??????????????? if self.poll is None:
??????????????????? print ("運行正常")
??????????????? else:
??????????????????? print ("未檢測到程序運行狀態,準備啟動程序")
??????????????????? self.run()
??????? except KeyboardInterrupt as e:
??????????? print ("檢測到CTRL+C,準備退出程序!")
#??????????? self.p.kill()?????????????????? #檢測到CTRL+C時,kill掉CMD中啟動的exe或者jar程序
??? def run(self):
??????? if self.ext == ".py":
??????????? print ('start OK!')
??????????? self.p = subprocess.Popen(['python','%s' % self.cmd], stdin = sys.stdin,stdout = sys.stdout, stderr = sys.stderr, shell = False)
??????? else:
??????????? pass
app = Auto_Run(TIME,CMD)
總結
以上是生活随笔為你收集整理的python自动运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VI/VIM 编辑器常用操作
- 下一篇: 谁看谁会的3dMAX游戏建模技巧,学习事