在日常使用计算机的过程中,我们经常会遇到需要定时关机的情况,而为了方便用户实现定时关机的需求,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')
以上就是Windows关机脚本的全部内容,如果有不清楚的用户可以按照小编的方法操作,希望能够帮助到大家。
微软资讯推荐
win10系统推荐
系统教程推荐