前言

现在的电脑族们,在使用电脑的过程中,常常忘记了时间的流逝,要么忙碌在电视剧的观看中,要么忙碌在工作中,要么忙碌在游戏中,往往忽视了对眼睛的正常保护,让眼睛能够在空闲的时候获得足够的休息时间。

我也是其中之一。

但当我发现自己的眼睛的疲劳程度在慢慢增加的时候,对于视力保护的需求也越来越迫切了。

于是,利用自己的小小编程技巧,利用python的简易性,实现了下面的“强制眼睛休息的脚本”,当设定的工作时间结束后,计算机的显示器会被强制关闭,如果用鼠标进行强制唤醒,显示器依然会随后快速关闭,直到设定的休息时间都过去以后,显示器才会开启。

具体实现如下

  1. """
  2. count down the time to close the display
  3. Create by Zhong Xiewei
  4. """
  5. import time
  6. import os
  7. import platform
  8.  
  9. work_time = int(raw_input("Enter your work time [min]: "))
  10. break_time = int(raw_input("Enter your break time [min]: "))
  11. break_time = break_time*60
  12. start = raw_input("Do you want start [y/n]: ")
  13. os_str = platform.system()
  14.  
  15. work_stage = 0
  16. while (start == 'y'):
  17. for i in range(work_time):
  18. print 'Remain ', work_time-i, 'min'
  19. time.sleep(60)
  20.  
  21. # During the break time
  22. # the display should always be closed
  23. # if rewake by mouse, it will be closed again
  24. insleep = 1
  25. start_time = time.time()
  26. while (insleep):
  27. if os_str == "Windows":
  28. # Under windows, nircmd should be installed first
  29. # The usage can reference: www.nirsoft.net/utils/nircmd.html
  30. os.system("nircmd.exe monitor off")
  31. elif os_str == "Linux":
  32. os.system("xset dpms force off")
  33. end_time = time.time()
  34. if end_time-start_time > break_time:
  35. insleep = 0
  36.  
  37. if os_str == "Linux":
  38. os.system("xset dpms force on")
  39. elif os_str == "Windows":
  40. os.system("nircmd.exe monitor on")
  41.  
  42. work_stage = work_stage + 1
  43. print "================\nWork Stage ", work_stage,"\n================\n"
  44. start = raw_input("Do you want continue [y/n]: ")

[python]计算机使用过程中,眼睛强制休息的更多相关文章

  1. Python使用Mysql过程中一些错误

    Python使用Mysql过程中一些错误 ssh登录远程服务器 ssh ubuntu@xxx.xxx.xx.xx 第一:ubuntu终端中登录Mysql mysql -uroot -p 然后输入密码即 ...

  2. android模拟器(genymotion)+appium+python 框架执行过程中问题解答

    1.case运行过程中中文输入不进去? 答:注意事项 1)需要修改系统编码为utf-8,才能解决中文输入问题,case执行入口文件添加代码如下: import sys reload(sys) sys. ...

  3. 【原创】控制perl和python脚本执行过程中脚本文件是否关闭的方法

    引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和pyt ...

  4. Python安装scrapy过程中出现“Failed building wheel for xxx”

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml Python安装scrapy库过程中出现“ Failed building wheel for xxx ...

  5. 通过py2exe打包python程序的过程中,解决的一系列问题

    py2exe的使用方法参考<py2exe使用方法>. 注:程序可以在解释器中正常运行,一切问题都出在打包过程中. 问题1: 现象:RuntimeError: maximum recursi ...

  6. 【原创】Python 对象创建过程中元类, __new__, __call__, __init__ 的处理

    原始type: type是最原始的元类,其__call__方法是在你使用" t_class = type(classname_string, base_classes_tuple, attr ...

  7. Python正则表达式使用过程中的小细节

    今天用Python写了个简单的爬虫程序,抓取虎扑篮球(nba.hupu.com)的首页内容,代码如下: #coding:gb2312 import urllib2, re webpage = urll ...

  8. 在python学习时间过程中,你会不断发现需要解决的问题,更多需要连接未知,这时候到哪里去查阅资料呢?

    1.safari online book https://www.safaribooksonline.com 知乎上有人问,送程序员什么礼物好,其中一个答案就是safari online.编程的英文书 ...

  9. python爬虫requests过程中添加headers

    浏览器中打开页面,以edge为例,点击“查看源”或F12 第一步:点击上图中“网络”标签,然后刷新或载入页面 第二步:在右侧“标头”下方的“请求标头”中的所有信息都是headers内容,添加到requ ...

随机推荐

  1. myeclipse导入项目出现乱码

    (1)修改整个工作空间的编码方式: Window->Preferences->General->Workspace->Text file Encoding 在 Others 里 ...

  2. Intent组件的传参应用

    Intent是要执行的操作的抽象描述 可以在startActivity.startService等方法中使用 最为常见的用法是在Activity之间传递数据 跳转并传值: Intent intent= ...

  3. Linux 下比较文件内容并相同部分、不同部分

    说明,是通过file2内容与file1做比较,最后列出file1与file2不同的部分! 一.准备两个文件: [root@kinggoo.com test1]# cat file1 a b c d e ...

  4. linux Makefile编写的整理

    最近将Makefile的编写进行了整理和提炼了一下,大致分为五个步骤: 编译总共为五个部分 1.设置编译环境 set compile environment 2.获取要编译的源文件,以及把源文件转换为 ...

  5. java - Stack栈和Heap堆的区别

    首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆.         在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语:        堆存储 ...

  6. LiveCD DSET日志收集

      DELL的LiveCD是一张PE光盘,最新版本7.1是基于CentOS 6.2系统的. 工具下载地址: http://downloads.dell.com/FOLDER01960516M/1/SL ...

  7. .net 第二周学习

    这周更进一步的介绍了.net,通过作业的练习,有那么一点点的成就感,相对于前端,成就感还不是很大,但是我还是会继续加油  学习.net,看着他们周末只能呆在寝室写网页,顿时我就高兴了:        ...

  8. Redis中Value使用hash类型的效率是普通String的两倍

    什么Redis? 点击这里 最近要开发的一个项目是分布式缓存组件,解决参数缓存高效获取的问题.参数达到了500万级别,刚刚开始了解Redis.做设计的时候考虑到Value使用哪种类型的问题? 主要面临 ...

  9. SQL入门经典(九) 之自定义函数

    UDF和存储过程很类似,用户自定义函数是一组有序的T-SQL语句,这些语句被预先优化和编译,并且可以作为一个单元来测试调用.UDF和存储过程的主要区别在于结果返回方式,为了能支持更多返回值,UDF比存 ...

  10. 记一次Redis和NetMQ的测试

    Redis是一个高速缓存K-V数据库,而NetMQ是ZeroMQ的C#实现版本,两者是完全不同的东西. 最近做游戏服务器的时候想到,如果选择一个组件来做服务器间通信的话,ZeroMQ绝对是一个不错的选 ...