python定时执行脚本_Python 定时运行脚本

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

#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: [file2 file3...]

execute file(.py)

-ft -filetime: [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()

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

你可能感兴趣的:(python定时执行脚本)