Python 定时运行脚本
发布时间:2020-12-17 17:11:39 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #coding=utf-8import sysimport osimport datetimeimport timeclass ArgsDealwith: def arg_environment(self,args): filepath = ('PYTHON_PATH','pat
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #coding=utf-8 import sys import os import datetime import time class ArgsDealwith: def arg_environment(self,args): filepath = ('PYTHON_PATH','path') for i in filepath: filename = os.environ.get(i,"%s is null." % i) print '%s:' % i,' ',filename def arg_en(self,' '.join(filename.split(';')) def arg_file(self,args): if not args: print 'Error: file name is null.' else: if len(args) == 1 and args[0].lower() == 'python_path': filename = os.environ.get(args[0],None) if filename: args = filename.split(';') else: print 'Error: "%s" is null' % args[0] exit() for i in args: if os.path.isfile(i): try: execfile(i) except: print 'Error: "%s" run failed.' % i else: print 'Error: Not found "%s" file.' % i def arg_filetime(self,args): if not args: print 'Error: file name is null.' elif len(args) % 2 != 0: print 'Error: args isn't validate' else: fileTimes = [i for i in args if args.index(i) % 2 != 0 ] for i in fileTimes: try: fileTimes[fileTimes.index(i)] = int(i) except Exception: print 'Error: time args isn't validate' exit() if i <= 0: print 'Error: time<=0' exit() minTime = fileTimes[0] for i in fileTimes: if i < minTime: minTime = i strTime = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime()) tupleTime = tuple([int(i) for i in strTime.split('-')]) begin = datetime.datetime(tupleTime[0],tupleTime[1],tupleTime[2],tupleTime[3],tupleTime[4],tupleTime[5]) fileTimes = [[i,0] for i in fileTimes] seconds = 0 while True: strTime = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime()) tupleTime = tuple([int(i) for i in strTime.split('-')]) end = datetime.datetime(tupleTime[0],tupleTime[5]) time_sub = end - begin seconds = time_sub.seconds begin = end for i in fileTimes: i[1] += seconds for i in fileTimes: if i[1] == 0: self.arg_file( [args[args.index(str(i[0])) - 1] ] ) elif i[1] >= i[0]: i[1] %= i[0] self.arg_file( [args[args.index(str(i[0])) - 1] ] ) if i[0] - i[1] < minTime: minTime = i[0] - i[1] time.sleep(minTime) def arg_help(self,args): strHelp = "Usage: ps [-options] [args...] where option include:" strHelp += """ -? -help print this help message -e -environment print environment path -en print envrionment path per row -f -file:<file> [file2 file3...] execute file(.py) -ft -filetime:<file time> [file2 time2 file3 time3...] execute file(.py) per time,this run not stop,but this command hasn't validate. time(seconds) must is interger and not less than zero""" print strHelp def arg_args(): args_dic = {'arg_help' : ['-?','-help'],'arg_environment' : ['-e','-environment'],'arg_en' : ['-en'],'arg_file' : ['-f','-file'],'arg_filetime' : ['-ft','filetime']} argsCls = ArgsDealwith() if len(sys.argv) <= 1: argsCls.arg_help(sys.argv) else: argsFun = '' for i in sys.argv[1:]: bMath = False for j in args_dic.items(): if i in j[1]: argsFun = j[0] bMath = True break if bMath: break if argsFun: try: getattr(argsCls,argsFun)(sys.argv[2:]) except Exception,error: print error exit() else: print 'Error: "%s" isn't validate arg.' % ' '.join(sys.argv[1:]) del argsCls if __name__ == '__main__': arg_args() 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |