用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中使用next()方法操作文件的教程
May 24 Python
Python线程指南详细介绍
Jan 05 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
Jan 17 Python
通过shell+python实现企业微信预警
Mar 07 Python
元组列表字典(莫烦python基础)
Apr 03 Python
使用 Python 处理 JSON 格式的数据
Jul 22 Python
python将音频进行变速的操作方法
Apr 08 Python
python实现坦克大战
Apr 24 Python
python如何处理程序无法打开
Jun 16 Python
python的json包位置及用法总结
Jun 21 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Apr 14 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动态变静态原理
2006/11/25 PHP
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
js四舍五入数学函数round使用实例
2014/05/09 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
Angular封装表单控件及思想总结
2019/12/11 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python中print和return的作用及区别解析
2019/05/05 Python
修改Pandas的行或列的名字(重命名)
2019/12/18 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
Python 字符串池化的前提
2020/07/03 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
励志演讲稿600字
2014/08/21 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
公司2015年终工作总结
2015/05/26 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL