文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python应用:加班时间计算器

Python应用:加班时间计算器

时间:2007-04-29  来源:wibrst

不用说啥了,注释很清楚了~
# encoding:gb2312
#
# 本模块利用timeItv模块提供的转换器进行加班时间统计
# 输入文件分行列出每天的签到和签退时间
# 读入后计算每个有效行的加班时间
# 并在最后对超过最低时限的加班时间做出统计
# 结果输出到另一文件中
# 其中两种方式确定输入文件名:bModeInput来控制

import timeItv

import os,sys,re

def file2list (_uf):
f = file(_uf,'r')
l = f.readlines()
return l

def list2file (_uf,_l):
f = file(_uf,'w')
f.writelines(_l)
f.close()

def exitByMsg (_sMsg):
print _sMsg
sys.exit()

def getTimeAddWork (_sb,_se):
_iTimeAdd = timeItv.time2itv(_se) - timeItv.time2itv(_sb) - iTimeNormal
return timeItv.itv2time(_iTimeAdd ),_iTimeAdd

def processFile (_uf):
_lOutput = []
_iTimeSumAdd = 0

_lInput = file2list(_uf)
_pc = re.compile( r'^\s*(?P<sTimeBegin>\S+)\s*(?P<sTimeEnd>\S+)\s*$' )
for _l in _lInput:
_m = _pc.match(_l)
if _m:
print 'm'
_sTimeAddWork,_iTimeAddWork = getTimeAddWork(*_m.group('sTimeBegin','sTimeEnd') )
if _sTimeAddWork > sTimeLimitBelow:
_iTimeSumAdd += _iTimeAddWork
_lOutput.append( _sTimeAddWork +'\n' )
else:
print 'n'
_lOutput.append( '\n' )
_lOutput.append( '超过' + sTimeLimitBelow + '的统计结果:' + timeItv.itv2time(_iTimeSumAdd))
return _lOutput

def getFilePath ():
_uf = uCoFinancialBase + raw_input('输入加班计算时间文件名\n'+uCoFinancialBase+'>').strip()
if os.path.isfile(_uf):
return _uf
else :
exitByMsg('file not found: '+_uf)

def getOutFilePath (_ufIn):
_iIdxDot = _ufIn.rfind('.')
return _ufIn[:_iIdxDot] + '_deal' + _ufIn[_iIdxDot:]

if __name__ == '__main__':
# 基础路径
uCoFinancialBase = r'E:\Company Financial'+os.sep

# **输入模式
bModeInput = 'auto'
if bModeInput == 'auto':
ufInput = uCoFinancialBase + r'time_count_temp.txt'
elif bModeInput == 'interact' :
# 交互输入文件路径
ufInput = getFilePath()

# 正常工作时间
iTimeNormal = timeItv.time2itv('18:00:00') - timeItv.time2itv('09:15:00')
# 统计限制时间下限
sTimeLimitBelow = '00:59:59'

# 处理输入
lResult = processFile (ufInput)
# 输出文件路径
ufOutput = getOutFilePath(ufInput)
# 输出结果
list2file(ufOutput,lResult)
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载