我覺得Window8有一個重大的優點就是支持休眠的功能,休眠以后再次開機可以保持原來已經打開的窗口。但是我發現我的電腦休眠以后會自己開機,也不知道怎么回事,於是我想可以利用python來實現在固定時間內自動關機或者休眠的功能。主要的思路如下:
獲取當前時間->與設定的時間作比較->超出了設定時間->關機或休眠
代碼如下:
#coding=utf-8 import time, os ,threading class TimeCmp: def __init__(self, TimeStart, TimeEnd): self.TimeStart=TimeStart self.TimeEnd=TimeEnd def GetNowTime(self): pass #now = time.strftime("%Y-%m-%d %H:%M:%S") def Cmp(self): LocalTime=time.localtime(time.time()) self.__TimeNow_1=LocalTime.tm_hour*3600+LocalTime.tm_min*60+LocalTime.tm_sec self.__TimeStart_1=3600*self.TimeStart[0]+60*self.TimeStart[1]+self.TimeStart[2] self.__TimeEnd_1=3600*self.TimeEnd[0]+60*self.TimeEnd[1]+self.TimeEnd[2] #print 'self.__TimeNow_1',self.__TimeNow_1 #print 'self.__TimeStart_1',self.__TimeStart_1 #print 'self.__TimeEnd_1',self.__TimeEnd_1 if self.__TimeNow_1 > self.__TimeStart_1 and self.__TimeNow_1 < self.__TimeEnd_1: return True else: return False def run(): TimeStart=(8,0,0) TimeEnd=(23,30,00) SystemCmd='rundll32 powrprof.dll,SetSuspendState -t -s 60' #SystemCmd='shutdown -r' while True: TimeCmpResult=TimeCmp(TimeStart, TimeEnd) #print TimeCmpResult.Cmp() shutdown=not TimeCmpResult.Cmp() if shutdown: print "Computer will be off" time.sleep(float(60)) os.system(SystemCmd) else: print "Computer is on" pass time.sleep(float(600)) if __name__=="__main__": run()
也可以做成Windows服務實現自動啟動,見http://www.cnblogs.com/lishuai0214/articles/4294486.html
