用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 返回汉字的汉语拼音
Feb 27 Python
Python中的random()方法的使用介绍
May 15 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
Python爬虫文件下载图文教程
Dec 23 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
python def 定义函数,调用函数方式
Jun 02 Python
python中Django文件上传方法详解
Aug 05 Python
python如何将mat文件转为png
Jul 15 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
phpize的深入理解
2013/06/03 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
2015/10/27 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Python 操作文件的基本方法总结
2017/08/10 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
pandas 将索引值相加的方法
2018/11/15 Python
pandas分区间,算频率的实例
2019/07/04 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Python 字典中的所有方法及用法
2020/06/10 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
小学生安全演讲稿
2014/04/25 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
大学军训通讯稿
2015/07/18 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Python实现8种常用抽样方法
2021/06/27 Python