VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 当我在玩python的时候我玩些什么

文章背景

  家里的第一台电脑是在2006年夏天买的,10年上大学之后基本上就没人用,过没两年就当二手卖给一个熟人。

  弟弟小我10岁,今年刚上初一。他在我毕业前半年就整天用妈妈的手机发短信给我,问我什么时候把学校里的台式机寄回家给他用。虽然从小就一直因为玩电脑的问题跟爸妈时不时有点小别扭,可是我还是非常鼓励弟弟接触电脑和网络的。可能有人会说小孩子就只会玩游戏,玩游戏怎么了?小孩子的天性不就是玩嘛,在娱乐的过程中其实是可以潜移默化地学会许多计算机日常使用的知识,还可以通过互联网跟已经认识、尚未认识的朋友进行沟通交流,好处多多的是。

  然而,凡事都得有个度。初中生不可能像我们成年人一样懂得克制自己(且不说很多大人都会沉迷在这个虚拟世界里),我就萌生了写一个程序限制弟弟平日玩电脑时间的想法。

技术选型

  其实我的第一想法是用Java,因为平时用的最多的就是它,而且除了C++之外就没有再用过别的语言。

  程序的基本思路

用一个txt文件记录电脑的一天内累计使用时间

累计使用时间超过若干小时就会自动关机

程序开机自动运行

  为什么我最后选择了python

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

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

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

动手写代码

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

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

相关教程