人生苦短,我用python——当我在玩python的时候我玩些什么 -

 

程序的基本思路

  1. 用一个txt文件记录电脑的一天内累计使用时间
  2. 累计使用时间超过若干小时就会自动关机
  3. 程序开机自动运行

为什么我最后选择了python

  想着怎么写、搜资料的时候就发现Java并不适合,虽然不是不能实现,但有好几个问题解决起来都有点麻烦。对我这么一个“懒”程序员来说,已经构成了“弃用”的充分理由。就举一个简单的例子好了,最后会使用系统的关机命令实现自动关机这个功能,用Java+运行windows命令搜出来一大堆东西,看着就头疼。毕竟是业余时间玩玩,没必要这么耗脑子。

  可是用python就只需要用到两行代码!

1 #关机命令       
2 cmd="cmd.exe /k shutdown -s -t 0";
3 
4 #执行关机命令
5 os.system(cmd)

动手写代码

  在网上一通乱搜之后,很快就把测试用的代码给写出来了。

 1 #! /usr/bin/env python
 2 
 3 #coding=utf-8
 4 
 5 import os 
 6 import time   
 7 import datetime   
 8 
 9 #根据是否工作日设置限制时间
10 if datetime.date.today().weekday()<5:
11     timeLimit = 20
12 else:
13     timeLimit = 40
14 
15 #读取文本中记录的日期
16 f = open('E:\\thefile.txt','r+')
17 f_date = f.readline()
18 f.close
19 
20 #读取系统日期,并与文本日期进行比对
21 #如果不相等,则清空文件,进行当日初始化
22 n_date = time.strftime("%d/%m/%Y")+"\n"
23 if f_date != n_date:
24     print("sucessed")
25     f = open('E:\\thefile.txt','r+')
26     f.truncate()
27     f.close
28     f = open('E:\\thefile.txt','r+')
29     f.write((n_date))
30     run_time="0"
31     f.write(run_time)
32     f.close
33 
34 #死循环语句,当且仅当运行时间大于等于限制时间时跳出循环
35 while 2 > 1 :
36     f = open('E:\\thefile.txt','r+')
37     f_date = f.readline()
38     run_time = f.readline()
39     run = int(run_time)
40     print(run)
41     time.sleep(2)
42     if run<timeLimit:
43         run = run + 1
44         f.truncate()
45         f.close
46         f = open('E:\\thefile.txt','r+')
47         f.write(f_date)
48         run_time = str(run)
49         f.write(run_time)
50         f.close
51     else:
52         break
53 
54 #关机命令       
55 cmd="cmd.exe /k shutdown -s -t 0";
56 
57 print(cmd)

  为了方便大家理解程序,再把txt文件中的内容贴出来以供参考

  需要特别提出的几个点

  第一,因为需要实现开机自启动,所以要把python文件复制到系统的“启动”文件夹里。

  第二,由于.py文件启动后会有控制台界面出现,非常影响使用效果,因此要把.py文件的后缀改成.pyw。

  第三,不需要担心如果自己想要用电脑的话会受到这个限制,只要在开机六分钟内把python进程关掉即可。

最后的成果

  忙活了一会,终于把实际使用的代码写完。

 1 #! /usr/bin/env python
 2 
 3 #coding=utf-8
 4 
 5 import os 
 6 import time   
 7 import datetime   
 8 
 9 #根据是否工作日设置限制时间
10 if datetime.date.today().weekday()<5:
11     timeLimit = 20
12 else:
13     timeLimit = 40
14 
15 #读取文本中记录的日期
16 f = open('E:\\thefile.txt','r+')
17 f_date = f.readline()
18 f.close
19 
20 #读取系统日期,并与文本日期进行比对
21 #如果不相等,则清空文件,进行当日初始化
22 n_date = time.strftime("%d/%m/%Y")+"\n"
23 if f_date != n_date:
24     print("sucessed")
25     f = open('E:\\thefile.txt','r+')
26     f.truncate()
27     f.close
28     f = open('E:\\thefile.txt','r+')
29     f.write((n_date))
30     run_time="0"
31     f.write(run_time)
32     f.close
33 
34 #死循环语句,当且仅当运行时间大于等于限制时间时跳出循环
35 while 2 > 1 :
36     f = open('E:\\thefile.txt','r+')
37     f_date = f.readline()
38     run_time = f.readline()
39     run = int(run_time)
40     time.sleep(360)
41     if run<timeLimit:
42         run = run + 1
43         f.truncate()
44         f.close
45         f = open('E:\\thefile.txt','r+')
46         f.write(f_date)
47         run_time = str(run)
48         f.write(run_time)
49         f.close
50     else:
51         break
52 
53 #关机命令       
54 cmd="cmd.exe /k shutdown -s -t 0";
55 
56 #执行关机命令
57 os.system(cmd)

  • 人生苦短,我用python——当我在玩python的时候我玩些什么 -