亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1891 | 回復(fù): 0
打印 上一主題 下一主題

Python應(yīng)用:加班時間計算器 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-04-29 17:49 |只看該作者 |倒序瀏覽

                不用說啥了,注釋很清楚了~
[color="#008080"]# encoding:gb2312
[color="#008080"]#
[color="#008080"]# 本模塊利用timeItv模塊提供的轉(zhuǎn)換器進(jìn)行加班時間統(tǒng)計
[color="#008080"]# 輸入文件分行列出每天的簽到和簽退時間
[color="#008080"]# 讀入后計算每個有效行的加班時間
[color="#008080"]# 并在最后對超過最低時限的加班時間做出統(tǒng)計
[color="#008080"]# 結(jié)果輸出到另一文件中
[color="#008080"]# 其中兩種方式確定輸入文件名:bModeInput來控制
[color="#0000ff"]import [color="#000000"]timeItv
[color="#0000ff"]import [color="#800000"]os[color="#000000"],[color="#800000"]sys[color="#000000"],[color="#800000"]re
[color="#0000ff"]def [color="#000000"]file2list (_uf):
        [color="#808000"]f [color="#008080"]= [color="#808000"]file[color="#000000"](_uf,[color="#ff00ff"]'r'[color="#000000"])
        [color="#000000"]l [color="#008080"]= [color="#808000"]f[color="#008080"].[color="#808000"]readlines[color="#000000"]()
        [color="#0000ff"]return [color="#000000"]l
[color="#0000ff"]def [color="#000000"]list2file (_uf,_l):
        [color="#808000"]f [color="#008080"]= [color="#808000"]file[color="#000000"](_uf,[color="#ff00ff"]'w'[color="#000000"])
        [color="#808000"]f[color="#008080"].[color="#808000"]writelines[color="#000000"](_l)
        [color="#808000"]f[color="#008080"].[color="#808000"]close[color="#000000"]()
[color="#0000ff"]def [color="#000000"]exitByMsg (_sMsg):
        [color="#0000ff"]print [color="#000000"]_sMsg
        [color="#800000"]sys[color="#008080"].[color="#808000"]exit[color="#000000"]()
[color="#0000ff"]def [color="#000000"]getTimeAddWork (_sb,_se):
        [color="#000000"]_iTimeAdd [color="#008080"]= [color="#000000"]timeItv[color="#008080"].[color="#000000"]time2itv(_se) [color="#008080"]- [color="#000000"]timeItv[color="#008080"].[color="#000000"]time2itv(_sb) [color="#008080"]- [color="#000000"]iTimeNormal
        [color="#0000ff"]return [color="#000000"]timeItv[color="#008080"].[color="#000000"]itv2time(_iTimeAdd ),_iTimeAdd
[color="#0000ff"]def [color="#000000"]processFile (_uf):
        [color="#000000"]_lOutput [color="#008080"]= [color="#000000"][]
        [color="#000000"]_iTimeSumAdd [color="#008080"]= [color="#000000"]0
       
        [color="#000000"]_lInput [color="#008080"]= [color="#000000"]file2list(_uf)
        [color="#000000"]_pc [color="#008080"]= [color="#800000"]re[color="#008080"].[color="#808000"]compile[color="#000000"]( r[color="#ff00ff"]'^\s*(?P\S+)\s*(?P\S+)\s*$' [color="#000000"])
        [color="#0000ff"]for [color="#000000"]_l [color="#0000ff"]in [color="#000000"]_lInput:
                [color="#000000"]_m [color="#008080"]= [color="#000000"]_pc[color="#008080"].[color="#808000"]match[color="#000000"](_l)
                [color="#0000ff"]if [color="#000000"]_m:
                        [color="#0000ff"]print [color="#ff00ff"]'m'
                        [color="#000000"]_sTimeAddWork,_iTimeAddWork [color="#008080"]= [color="#000000"]getTimeAddWork([color="#008080"]*[color="#000000"]_m[color="#008080"].[color="#808000"]group[color="#000000"]([color="#ff00ff"]'sTimeBegin'[color="#000000"],[color="#ff00ff"]'sTimeEnd'[color="#000000"]) )
                        [color="#0000ff"]if [color="#000000"]_sTimeAddWork [color="#008080"]> [color="#000000"]sTimeLimitBelow:
                                [color="#000000"]_iTimeSumAdd [color="#008080"]+= [color="#000000"]_iTimeAddWork
                        [color="#000000"]_lOutput[color="#008080"].[color="#808000"]append[color="#000000"]( _sTimeAddWork [color="#008080"]+[color="#ff00ff"]'\n' [color="#000000"])
                [color="#0000ff"]else[color="#000000"]:
                        [color="#0000ff"]print [color="#ff00ff"]'n'
                        [color="#000000"]_lOutput[color="#008080"].[color="#808000"]append[color="#000000"]( [color="#ff00ff"]'\n' [color="#000000"])
        [color="#000000"]_lOutput[color="#008080"].[color="#808000"]append[color="#000000"]( [color="#ff00ff"]'超過' [color="#008080"]+ [color="#000000"]sTimeLimitBelow [color="#008080"]+ [color="#ff00ff"]'的統(tǒng)計結(jié)果:' [color="#008080"]+ [color="#000000"]timeItv[color="#008080"].[color="#000000"]itv2time(_iTimeSumAdd))
        [color="#0000ff"]return [color="#000000"]_lOutput
[color="#0000ff"]def [color="#000000"]getFilePath ():
        [color="#000000"]_uf [color="#008080"]= [color="#000000"]uCoFinancialBase [color="#008080"]+ [color="#808000"]raw_input[color="#000000"]([color="#ff00ff"]'輸入加班計算時間文件名\n'[color="#008080"]+[color="#000000"]uCoFinancialBase[color="#008080"]+[color="#ff00ff"]'>'[color="#000000"])[color="#008080"].[color="#808000"]strip[color="#000000"]()
        [color="#0000ff"]if [color="#800000"]os[color="#008080"].[color="#000000"]path[color="#008080"].[color="#808000"]isfile[color="#000000"](_uf):
                [color="#0000ff"]return [color="#000000"]_uf
        [color="#0000ff"]else [color="#000000"]:
                [color="#000000"]exitByMsg([color="#ff00ff"]'file not found: '[color="#008080"]+[color="#000000"]_uf)
[color="#0000ff"]def [color="#000000"]getOutFilePath (_ufIn):
        [color="#000000"]_iIdxDot [color="#008080"]= [color="#000000"]_ufIn[color="#008080"].[color="#808000"]rfind[color="#000000"]([color="#ff00ff"]'.'[color="#000000"])
        [color="#0000ff"]return [color="#000000"]_ufIn[:_iIdxDot] [color="#008080"]+ [color="#ff00ff"]'_deal' [color="#008080"]+ [color="#000000"]_ufIn[_iIdxDot:]
[color="#0000ff"]if [color="#008080"]__name__ == [color="#ff00ff"]'__main__'[color="#000000"]:
        [color="#008080"]# 基礎(chǔ)路徑
        [color="#000000"]uCoFinancialBase [color="#008080"]= [color="#000000"]r[color="#ff00ff"]'E:\Company Financial'[color="#008080"]+[color="#800000"]os[color="#008080"].[color="#000000"]sep
       
        [color="#008080"]# **輸入模式
        [color="#000000"]bModeInput [color="#008080"]= [color="#ff00ff"]'auto'
        [color="#0000ff"]if [color="#000000"]bModeInput [color="#008080"]== [color="#ff00ff"]'auto'[color="#000000"]:
                [color="#000000"]ufInput [color="#008080"]= [color="#000000"]uCoFinancialBase [color="#008080"]+ [color="#000000"]r[color="#ff00ff"]'time_count_temp.txt'
        [color="#0000ff"]elif [color="#000000"]bModeInput [color="#008080"]== [color="#ff00ff"]'interact' [color="#000000"]:       
                [color="#008080"]# 交互輸入文件路徑
                [color="#000000"]ufInput [color="#008080"]= [color="#000000"]getFilePath()
       
        [color="#008080"]# 正常工作時間
        [color="#000000"]iTimeNormal [color="#008080"]= [color="#000000"]timeItv[color="#008080"].[color="#000000"]time2itv([color="#ff00ff"]'18:00:00'[color="#000000"]) [color="#008080"]- [color="#000000"]timeItv[color="#008080"].[color="#000000"]time2itv([color="#ff00ff"]'09:15:00'[color="#000000"])
        [color="#008080"]# 統(tǒng)計限制時間下限
        [color="#000000"]sTimeLimitBelow [color="#008080"]= [color="#ff00ff"]'00:59:59'
       
        [color="#008080"]# 處理輸入
        [color="#000000"]lResult [color="#008080"]= [color="#000000"]processFile (ufInput)
        [color="#008080"]# 輸出文件路徑
        [color="#000000"]ufOutput [color="#008080"]= [color="#000000"]getOutFilePath(ufInput)
        [color="#008080"]# 輸出結(jié)果       
        [color="#000000"]list2file(ufOutput,lResult)
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/28253/showart_289142.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP