用python寫一個windows下的定時關(guān)機(jī)腳本(推薦)
由于本人經(jīng)常使用筆記本共享WiFi,但是又不想筆記本開機(jī)一夜(為了低碳環(huán)保嘛 ~_~!),所以每次都要用使用DOS命令關(guān)機(jī),感覺好麻煩。正好最近在學(xué)習(xí)Python,于是決定用python寫一個定時關(guān)機(jī)的腳本:
話不多說由于代碼比較簡單,直接上代碼。
代碼塊
# -*- coding: utf-8 -*- """ Created on Sat Dec 19 11:18:16 2015 @author: win7 """ '''定時關(guān)機(jī)''' '''腳本功能:windows下,用戶按照一定格式輸入關(guān)機(jī)時間,系統(tǒng)到指定時間自動關(guān)閉 思路:從用戶輸入獲取指定時間 分別以時分秒減去當(dāng)前時間 最終計算得到當(dāng)前時間距離指定 時間還有多少秒 作為關(guān)機(jī)命令的時間參數(shù) ''' '''需要用到的模塊: os 用于執(zhí)行設(shè)定的系統(tǒng)命令 time 用于獲取系統(tǒng)時間 需要用到的命令: shutdown -s -t xxx 其中xxx為距離自動關(guān)機(jī)所用秒數(shù),即時間參數(shù) shutdown -a 取消關(guān)機(jī)計劃 ''' import os,time #獲取用戶指定關(guān)機(jī)時間 print u'使用說明:輸入關(guān)機(jī)時間,格式如:小時:分鐘 舉個栗子:20:21 然后敲回車 即可 如果想取消定時關(guān)機(jī) 再次雙擊打開程序 輸入 off 敲回車 即可'.encode('mbcs') #u'xxx'.encode('mbcs') 使正文字符在控制臺正確顯示 input_time=raw_input(u'請輸入關(guān)機(jī)時間,格式如:小時:分鐘 :'.encode('mbcs')) #取消定時關(guān)機(jī) #計劃總有變化 先留條后路 if input_time == 'off': os.system('shutdown -a') #輸入數(shù)據(jù)檢查 #由于是自用 暫時略過 #提取時分秒 h1 = int(input_time[0:2]) m1 = int(input_time[3:5]) #print h1,m1#驗(yàn)證獲取是否正確 #獲取當(dāng)前系統(tǒng)時間 mytime = time.strftime('%H:%M:%S') h2 = int(mytime[0:2]) m2 = int(mytime[3:5]) #print h2,m2 #驗(yàn)證獲取是否正確 #對用戶輸入數(shù)據(jù)進(jìn)行整理 防止出現(xiàn)25:76:66這樣的時間數(shù)據(jù) if h1 > 24: h1 = 24 m2 = 0 if m1 > 60: m1 = 60 if h1<h2: h1 = h1 + 24 #計算秒數(shù) s1=(h1+(m1/60.0)-h2-(m2/60.0))*3600 print '距離關(guān)機(jī)還有 %d 秒' %s1 os.system('shutdown -s -t %d' %s1 )
作者說
剛開始自學(xué)python不久,這個腳本寫的比較簡陋,很多功能沒有加上去,比如:輸入數(shù)據(jù)的檢查,處理輸出數(shù)據(jù)的手段也比較粗暴,還有很多寫的不好的地方,希望看到的大神能不吝指正。
完成腳本遇到的問題
說起來真有點(diǎn)臉紅,在寫腳本的過程中犯了不少低級錯誤。為了以后能少點(diǎn)臉紅,同時也給剛剛?cè)腴T的小伙伴提供一個錯誤的教學(xué)示范,特此把它們都記錄下來,大神看了就當(dāng)是一樂吧! ~_~
1.忘了 整數(shù)/整數(shù)=整數(shù) 這事了 測試的時候時間老是不對 因?yàn)槲野训玫降姆昼娹D(zhuǎn)化為小時的時候除的數(shù)是60 這是整數(shù)啊 所以得到的結(jié)果都是錯了 后來把計算結(jié)果挨個輸出測試的時候才發(fā)現(xiàn) 醉了
2.忘了數(shù)據(jù)類型轉(zhuǎn)換 raw_input()得到的數(shù)據(jù)是字符串 我測試的時候 直接報錯 才想起來 也是醉了
3.最后是字符顯示問題 開始我寫完腳本運(yùn)行的時候 控制臺顯示的是亂碼 后來經(jīng)過百度找到了解決辦法 u'xxx'.encode(‘mbcs')
以上所述是小編給大家介紹的用python寫一個windows下的定時關(guān)機(jī)腳本,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
python交互模式基礎(chǔ)知識點(diǎn)學(xué)習(xí)
在本篇內(nèi)容里小編給大家整理的是關(guān)于python交互模式是什么的相關(guān)基礎(chǔ)知識點(diǎn),需要的朋友們可以參考下。2020-06-06python list數(shù)據(jù)等間隔抽取并新建list存儲的例子
今天小編就為大家分享一篇python list數(shù)據(jù)等間隔抽取并新建list存儲的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python編程中內(nèi)置的NotImplemented類型的用法
這篇文章主要介紹了Python編程中內(nèi)置的NotImplemented類型的用法,NotImplemented 是Python在內(nèi)置命名空間中的六個常數(shù)之一,下文更多詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-03-03python cv2讀取rtsp實(shí)時碼流按時生成連續(xù)視頻文件方式
今天小編就為大家分享一篇python cv2讀取rtsp實(shí)時碼流按時生成連續(xù)視頻文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12在Windows系統(tǒng)上搭建Nginx+Python+MySQL環(huán)境的教程
這篇文章主要介紹了在Windows系統(tǒng)上搭建Nginx+Python+MySQL環(huán)境的教程,文中使用flup中間件及FastCGI方式連接,需要的朋友可以參考下2015-12-12