这里有新鲜出炉的 Python 多线程编程,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
由于本人经常使用笔记本共享 WiFi,但是又不想笔记本开机一夜, 每次都是使用 dos 命令关机,感觉好麻烦,然后小编想到用 python 写一个定时关机的脚本,具体实例代码请参考本文
由于本人经常使用笔记本共享 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 下的定时关机脚本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 PHPERZ 网站的支持!
来源: http://www.phperz.com/article/17/0506/332851.html