由于考勤機與OA對接,OA會在每天定時取考勤機數據,但是需要考勤機是連接狀態,所以搜索了下相關教程,寫了個腳本自動連接。完全是個Python小白,代碼爛,僅作為筆記。
理論上支持所有程序的每天自動開啟與關閉
# -*- coding:utf-8 -*-# pip install schedule import osimport timeimport datetimeimport schedule # 配置區域---------------------------------------------------------- # 考勤機文件位置,請參考D:/Program Files (x86)/ZKTeco/ZKTime5.0my_path = "D://02.Soft/ZKTime5.0" # 腳本開啟時間start_time = '12:59' # 打開軟件以及關閉軟件所經歷的時間,單位秒process_time = 10 # 時間必須在每個函數中重復定義,不然時間不準確 # 時間現在依然不正確,用的CMD命令 # 配置區域---------------------------------------------------------- def start(): if __name__ == '__main__': now = datetime.datetime.now() os.chdir(my_path) os.system('start Att.exe') os.system('echo 已于%date:~0,10% %time%啟動腳本 >>c://考勤自動連接腳本日志.txt') os.system('echo 任務開始于:%date:~0,10% %time%') # print('任務開始于:' + now.strftime("%Y-%m-%d %H:%M:%S")) def end(): if __name__ == '__main__': now = datetime.datetime.now() # tomorrow = (now + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S") os.system('taskkill /f /t /im Att.exe') os.system('echo 已于%date:~0,10% %time%斷開設備連接 >>d://考勤自動連接腳本日志.txt') os.system('echo 任務結束于:%date:~0,10% %time%') # print('任務結束于:', end_time) time.sleep(1) print('日志文件已存放在C盤根目錄下') time.sleep(1) print('今日任務已完成,等待下次執行...') def job(): # 執行開啟函數 start() # 延遲X秒 time.sleep(process_time) # 延遲X秒后執行關閉程序 end() # print('任務結束于:' + now.strftime("%Y-%m-%d %H:%M:%S")) #任務開始時間schedule.every().day.at(start_time).do(job)print('腳本已啟動,等待運行中...')while True: schedule.run_pending() # 每一秒執行一次循環 time.sleep(1)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答