用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 web程序
Sep 11 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
Python shutil模块用法实例分析
Oct 02 Python
Django学习之文件上传与下载
Oct 06 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python3基于print打印带颜色字符串
Jul 06 Python
python+flask编写一个简单的登录接口
Nov 13 Python
Pytest之测试命名规则的使用
Apr 16 Python
Python加密技术之RSA加密解密的实现
Apr 08 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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源码之 ext/mysql扩展部分
2009/07/17 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
AngularJS基础知识
2014/12/21 Javascript
javascript 数组操作详解
2015/01/29 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
python链接Oracle数据库的方法
2015/06/28 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
制衣厂各岗位职责
2013/12/02 职场文书
四年大学生活的个人自我评价
2013/12/11 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
警校毕业生自我评价
2014/04/06 职场文书
优秀班主任申报材料
2014/12/16 职场文书
市场总监岗位职责
2015/02/11 职场文书
因个人工作失误检讨书
2019/06/21 职场文书