由于考勤機與oa對接,oa會在每天定時取考勤機數據,但是需要考勤機是連接狀態,所以搜索了下相關教程,寫了個腳本自動連接。完全是個python小白,代碼爛,僅作為筆記。
理論上支持所有程序的每天自動開啟與關閉
# -*- coding:utf-8 -*-
# pip install schedule
import os
import time
import datetime
import schedule
# 配置區域----------------------------------------------------------
# 考勤機文件位置,請參考d:\program files (x86)\zkteco\zktime5.0
my_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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持萬仟網。
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!