下面是编程之家 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)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。