用python寫一個windows下的定時關機指令碼(推薦),python定時關機

來源:互聯網
上載者:User

用python寫一個windows下的定時關機指令碼(推薦),python定時關機

由於本人經常使用筆記本共用WiFi,但是又不想筆記本開機一夜(為了低碳環保嘛 ~_~!),所以每次都要用使用DOS命令關機,感覺好麻煩。正好最近在學習Python,於是決定用python寫一個定時關機的指令碼:

話不多說由於代碼比較簡單,直接上代碼。

代碼塊

# -*- coding: utf-8 -*-"""Created on Sat Dec 19 11:18:16 2015@author: win7"""'''定時關機''''''指令碼功能:windows下,使用者按照一定格式輸入關機時間,系統到指定時間自動關閉  思路:從使用者輸入擷取指定時間 分別以時分秒減去目前時間 最終計算得到目前時間距離指定  時間還有多少秒 作為關機命令的時間參數''''''需要用到的模組:        os 用於執行設定的系統命令        time 用於擷取系統時間 需要用到的命令: shutdown -s -t xxx 其中xxx為距離自動關機所用秒數,即時間參數              shutdown -a 取消關機計劃'''import os,time#擷取使用者指定關機時間print u'使用說明:輸入關機時間,格式如:小時:分鐘 舉個栗子:20:21 然後敲斷行符號 即可  如果想取消定時關機 再次雙擊開啟程式 輸入 off 敲斷行符號 即可'.encode('mbcs')#u'xxx'.encode('mbcs') 使本文字元在控制台正確顯示input_time=raw_input(u'請輸入關機時間,格式如:小時:分鐘 :'.encode('mbcs'))#取消定時關機#計劃總有變化 先留條後路if input_time == 'off':  os.system('shutdown -a')#輸入資料檢查#由於是自用 暫時略過#提取時分秒h1 = int(input_time[0:2])m1 = int(input_time[3:5])#print h1,m1#驗證擷取是否正確#擷取當前系統時間mytime = time.strftime('%H:%M:%S')h2 = int(mytime[0:2])m2 = int(mytime[3:5])#print h2,m2 #驗證擷取是否正確#對使用者輸入資料進行整理 防止出現25:76:66這樣的時間資料if h1 > 24:  h1 = 24  m2 = 0if m1 > 60:  m1 = 60if h1<h2:  h1 = h1 + 24  #計算秒數s1=(h1+(m1/60.0)-h2-(m2/60.0))*3600print '距離關機還有 %d 秒' %s1os.system('shutdown -s -t %d' %s1 ) 

作者說

剛開始自學python不久,這個指令碼寫的比較簡陋,很多功能沒有加上去,比如:輸入資料的檢查,處理輸出資料的手段也比較粗暴,還有很多寫的不好的地方,希望看到的大神能不吝指正。

完成指令碼遇到的問題

說起來真有點臉紅,在寫指令碼的過程中犯了不少低級錯誤。為了以後能少點臉紅,同時也給剛剛入門的小夥伴提供一個錯誤的教學示範,特此把它們都記錄下來,大神看了就當是一樂吧! ~_~

1.忘了 整數/整數=整數 這事了 測試的時候時間老是不對 因為我把得到的分鐘轉化為小時的時候除的數是60 這是整數啊 所以得到的結果都是錯了 後來把計算結果挨個輸出測試的時候才發現 醉了

2.忘了資料類型轉換 raw_input()得到的資料是字串 我測試的時候 直接報錯 才想起來 也是醉了

3.最後是字元顯示問題 開始我寫完指令碼啟動並執行時候 控制台顯示的是亂碼 後來經過百度找到瞭解決辦法 u'xxx'.encode(‘mbcs')

以上所述是小編給大家介紹的用python寫一個windows下的定時關機指令碼,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對幫客之家網站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.