用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 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
Python对列表排序的方法实例分析
May 16 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
在python3中pyqt5和mayavi不兼容问题的解决方法
Jan 08 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
python字典key不能是可以是啥类型
Aug 04 Python
python实现文件分片上传的接口自动化
Nov 19 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
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
JavaScript生成随机字符串的方法
2015/03/19 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
Javascript控制div属性动态变化实例分析
2015/10/08 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python三元运算符实现方法
2013/12/17 Python
Django中处理出错页面的方法
2015/07/15 Python
python模块之time模块(实例讲解)
2017/09/13 Python
用十张图详解TensorFlow数据读取机制(附代码)
2018/02/06 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
公共事业管理本科生求职信
2013/10/07 职场文书
工程部经理岗位职责
2013/12/08 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
优秀党员先进材料
2014/12/18 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL