用Python实现命令行闹钟脚本实例

作者:daisy 时间:2023-01-19 12:57:09 

前言:

这篇文章给大家介绍了怎样用python创建一个简单的报警,它可以运行在命令行终端,它需要分钟做为命令行参数,在这个分钟后会打印”wake-up”消息,并响铃报警,你可以用0分钟来测试,它会立即执行,用扬声器控制面板调整声音。

以下是脚本:


# alarm_clock.py

# Description: A simple Python program to make the computer act
# like an alarm clock. Start it running from the command line
# with a command line argument specifying the duration in minutes
# after which to sound the alarm. It will sleep for that long,
# and then beep a few times. Use a duration of 0 to test the
# alarm immediiately, e.g. for checking that the volume is okay.

# Author: Vasudev Ram - http://www.dancingbison.com

import sys
import string
from time import sleep

sa = sys.argv
lsa = len(sys.argv)
if lsa != 2:
 print "Usage: [ python ] alarm_clock.py duration_in_minutes"
 print "Example: [ python ] alarm_clock.py 10"
 print "Use a value of 0 minutes for testing the alarm immediately."
 print "Beeps a few times after the duration is over."
 print "Press Ctrl-C to terminate the alarm clock early."
 sys.exit(1)

try:
 minutes = int(sa[1])
except ValueError:
 print "Invalid numeric value (%s) for minutes" % sa[1]
 print "Should be an integer >= 0"
 sys.exit(1)

if minutes < 0:
 print "Invalid value for minutes, should be >= 0"
 sys.exit(1)

seconds = minutes * 60

if minutes == 1:
 unit_word = " minute"
else:
 unit_word = " minutes"

try:
 if minutes > 0:
   print "Sleeping for " + str(minutes) + unit_word
   sleep(seconds)
 print "Wake up"
 for i in range(5):
   print chr(7),
   sleep(1)
except KeyboardInterrupt:
 print "Interrupted by user"
 sys.exit(1)

# EOF

总结:

这个脚本我工作中已经在使用了,非常实用,当然为避免影响其他同事工作,你最好带耳机,如果要求不高,其实从终端打印出的”wake-up”消息已经足够提醒的了。以上就是这篇文章的全部内容,希望对大家的学习和工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对脚本之家的支持。

标签:python,命令行,闹钟
0
投稿

猜你喜欢

  • python pandas中DataFrame类型数据操作函数的方法

    2022-10-22 09:33:12
  • VBScript GetObject 函数用法介绍

    2008-01-30 17:00:00
  • PHP和JavaScrip分别获取关联数组的键值示例代码

    2023-06-16 05:30:51
  • Python中np.linalg.norm()用法实例总结

    2021-01-08 03:36:35
  • 网站导航设计的6大分类

    2010-07-12 18:46:00
  • pytorch加载预训练模型与自己模型不匹配的解决方案

    2023-06-17 14:22:24
  • 浅谈uniapp页面跳转的解决方案

    2023-08-23 01:45:51
  • 浅析python 通⽤爬⾍和聚焦爬⾍

    2021-06-13 00:14:23
  • 《CSS权威指南》文摘(1)--块级元素、行内元素

    2008-04-05 13:42:00
  • numpy.transpose对三维数组的转置方法

    2023-10-11 07:32:36
  • 如何设置mysql允许外网访问

    2024-05-03 15:49:38
  • YOLOv5改进之添加CBAM注意力机制的方法

    2023-07-22 20:48:52
  • 教你在SQL Server数据库中导入导出数据

    2008-12-09 14:42:00
  • CodeIgniter自定义控制器MY_Controller用法分析

    2024-05-05 09:17:36
  • python Tensor和Array对比分析

    2023-08-27 04:37:02
  • 6个Python办公黑科技,助你提升工作效率

    2022-11-15 14:31:21
  • python多线程方法详解

    2023-10-16 02:46:31
  • python MySQLdb Windows下安装教程及问题解决方法

    2024-01-26 11:57:49
  • 用Frontpage设计网站主页

    2008-10-23 13:44:00
  • Python安装第三方库的3种方法

    2022-02-03 03:10:47
  • asp之家 网络编程 m.aspxhome.com