用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中的循环语句的用法
Apr 09 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
查看Django和flask版本的方法
May 14 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
使用python批量修改文件名的方法(视频合并时)
Mar 24 Python
python-sys.stdout作为默认函数参数的实现
Feb 21 Python
Django vue前后端分离整合过程解析
Nov 20 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
python3 kubernetes api的使用示例
Jan 12 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 Python
python自动化之如何利用allure生成测试报告
May 02 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
thinkphp四种url访问方式详解
2014/11/28 PHP
php实现可逆加密的方法
2015/08/11 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
Python实例一个类背后发生了什么
2016/02/09 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
GWT的应用有哪两种部署模式
2012/12/21 面试题
迟到检讨书900字
2014/01/14 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
工商管理本科生求职信
2014/07/13 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android