用python写一个windows下的定时关机脚本(推荐)


Posted in Python onMarch 21, 2017

由于本人经常使用笔记本共享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 = 0
if m1 > 60:
  m1 = 60
if h1<h2:
  h1 = h1 + 24  
#计算秒数
s1=(h1+(m1/60.0)-h2-(m2/60.0))*3600
print '距离关机还有 %d 秒' %s1
os.system('shutdown -s -t %d' %s1 )

作者说

刚开始自学python不久,这个脚本写的比较简陋,很多功能没有加上去,比如:输入数据的检查,处理输出数据的手段也比较粗暴,还有很多写的不好的地方,希望看到的大神能不吝指正。

完成脚本遇到的问题

说起来真有点脸红,在写脚本的过程中犯了不少低级错误。为了以后能少点脸红,同时也给刚刚入门的小伙伴提供一个错误的教学示范,特此把它们都记录下来,大神看了就当是一乐吧! ~_~

1.忘了 整数/整数=整数 这事了 测试的时候时间老是不对 因为我把得到的分钟转化为小时的时候除的数是60 这是整数啊 所以得到的结果都是错了 后来把计算结果挨个输出测试的时候才发现 醉了

2.忘了数据类型转换 raw_input()得到的数据是字符串 我测试的时候 直接报错 才想起来 也是醉了

3.最后是字符显示问题 开始我写完脚本运行的时候 控制台显示的是乱码 后来经过百度找到了解决办法 u'xxx'.encode(‘mbcs')

以上所述是小编给大家介绍的用python写一个windows下的定时关机脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
浅谈python中的占位符
Nov 09 Python
解决python nohup linux 后台运行输出的问题
May 11 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
python标记语句块使用方法总结
Aug 05 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
Python笔记之代理模式
Nov 20 Python
Pytorch之卷积层的使用详解
Dec 31 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 Python
利用Python实现Windows定时关机功能
Mar 21 #Python
使用Python生成XML的方法实例
Mar 21 #Python
Python存取XML的常见方法实例分析
Mar 21 #Python
Python正则简单实例分析
Mar 21 #Python
Python处理XML格式数据的方法详解
Mar 21 #Python
Python做简单的字符串匹配详解
Mar 21 #Python
Python 转义字符详细介绍
Mar 21 #Python
You might like
PHP安全性漫谈
2012/06/28 PHP
js导出table数据到excel即导出为EXCEL文档的方法
2013/10/10 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
jsTree使用记录实例
2016/12/01 Javascript
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
2017/06/17 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
2017/07/06 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
用js编写留言板
2020/03/17 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
JavaScript仿京东轮播图效果
2021/02/25 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
Python中使用中文的方法
2011/02/19 Python
使用python实现接口的方法
2017/07/07 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
基于Python绘制个人足迹地图
2020/06/01 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
对公司合理化的建议书
2014/03/12 职场文书
我的画教学反思
2014/04/28 职场文书
《我在为谁工作》:工作的质量往往决定生活的质量
2019/12/27 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL