用python写一个windows下的定时关机脚本(推荐)
由于本人经常使用笔记本共享WiFi,但是又不想笔记本开机一夜(为了低碳环保嘛~_~!),所以每次都要用使用DOS命令关机,感觉好麻烦。正好最近在学习Python,于是决定用python写一个定时关机的脚本:
话不多说由于代码比较简单,直接上代码。
代码块
#-*-coding:utf-8-*-
"""
CreatedonSatDec1911:18:162015
@author:win7
"""
'''定时关机'''
'''脚本功能:windows下,用户按照一定格式输入关机时间,系统到指定时间自动关闭
思路:从用户输入获取指定时间分别以时分秒减去当前时间最终计算得到当前时间距离指定
时间还有多少秒作为关机命令的时间参数
'''
'''需要用到的模块:
os用于执行设定的系统命令
time用于获取系统时间
需要用到的命令:shutdown-s-txxx其中xxx为距离自动关机所用秒数,即时间参数
shutdown-a取消关机计划
'''
importos,time
#获取用户指定关机时间
printu'使用说明:输入关机时间,格式如:小时:分钟举个栗子:20:21然后敲回车即可
如果想取消定时关机再次双击打开程序输入off敲回车即可'.encode('mbcs')
#u'xxx'.encode('mbcs')使正文字符在控制台正确显示
input_time=raw_input(u'请输入关机时间,格式如:小时:分钟:'.encode('mbcs'))
#取消定时关机
#计划总有变化先留条后路
ifinput_time=='off':
os.system('shutdown-a')
#输入数据检查
#由于是自用暂时略过
#提取时分秒
h1=int(input_time[0:2])
m1=int(input_time[3:5])
#printh1,m1#验证获取是否正确
#获取当前系统时间
mytime=time.strftime('%H:%M:%S')
h2=int(mytime[0:2])
m2=int(mytime[3:5])
#printh2,m2#验证获取是否正确
#对用户输入数据进行整理防止出现25:76:66这样的时间数据
ifh1>24:
h1=24
m2=0
ifm1>60:
m1=60
ifh1
作者说
刚开始自学python不久,这个脚本写的比较简陋,很多功能没有加上去,比如:输入数据的检查,处理输出数据的手段也比较粗暴,还有很多写的不好的地方,希望看到的大神能不吝指正。
完成脚本遇到的问题
说起来真有点脸红,在写脚本的过程中犯了不少低级错误。为了以后能少点脸红,同时也给刚刚入门的小伙伴提供一个错误的教学示范,特此把它们都记录下来,大神看了就当是一乐吧!~_~
1.忘了整数/整数=整数这事了测试的时候时间老是不对因为我把得到的分钟转化为小时的时候除的数是60这是整数啊所以得到的结果都是错了后来把计算结果挨个输出测试的时候才发现醉了
2.忘了数据类型转换raw_input()得到的数据是字符串我测试的时候直接报错才想起来也是醉了
3.最后是字符显示问题开始我写完脚本运行的时候控制台显示的是乱码后来经过百度找到了解决办法u'xxx'.encode(‘mbcs')
以上所述是小编给大家介绍的用python写一个windows下的定时关机脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!