Python具有良好的时间和日期管理功能。实际上,计算机只会维护一个挂钟时间(wall clock time),这个时间是从某个固定时间起点到现在的时间间隔。
计算机还可以测量CPU实际上运行的时间,也就是处理器时间(processor clock time),以测量计算机性能。当CPU处于闲置状态时,处理器时间会暂停。

阅读全文 »

需要获取rsync备份的实时进度,主要是用到subprocess模块的管道功能。

1
2
3
4
popen = subprocess.Popen(['ping', 'www.baidu.com', '-n', '3'], stdout = subprocess.PIPE)

while True:
print popen.stdout.readline()

rsync这种软件的进度是在一行里面实时刷新的,显示进度的缓冲区并没有释放,所以用readline就读不出来,还是得等到整个程序执行结束之后才能返回。

阅读全文 »

首先说一个编码中尽量应该遵守的封闭开放原则:它规定已经实现的功能代码不允许被修改,但可以被扩展。
假设一个场景,需要给已经实现的业务功能前添加一个验证功能,那么需要怎么做呢,这时候批量改每个函数功能的代码是不可行,这时装饰器就可以正式登场了。

阅读全文 »

google一直被墙,对于我们解决技术问题很是不方便,网上有人会定期更新hosts文件,每次手动更新太麻烦,于是就用python的requests模块写了一个脚本,需要更新的时候回执行脚本自动替换C:\Windows\System32\drivers\etc\hosts文件。

阅读全文 »

perl脚本调用mailer模块去发送邮件,首先需要安装之指定的模块。
安装方法:
perl -MCPAN -e shell
cpan[1]>install Mail::Sender
或者
perl -MCPAN -e "install Mail::Mailer"
可能需要在邮箱的客户端启用smtp,pop等设置

阅读全文 »