从脚本编写到面向对象的 Python 编程
2008-09-23 12:46:56 来源:WEB开发网使用继承的面向对象 Python 磁盘监视脚本
#!/usr/bin/env python
from subprocess import Popen, PIPE
import re
class DiskMonitor():
"""Disk Monitoring Class"""
def __init__(self,
pattern="2[0-9]%",
message="CAPACITY WARNING",
cmd = "df -h"):
self.pattern = pattern
self.message = message
self.cmd = cmd
def disk_space(self):
"""Disk space capacity flag method"""
ps = Popen(self.cmd, shell=True,stdout=PIPE,stderr=PIPE)
output_lines = ps.stdout.readlines()
for line in output_lines:
line = line.strip()
if re.search(self.pattern,line):
print "%s %s" % (self.message,line)
class MyDiskMonitor(DiskMonitor):
"""Customized Disk Monitoring Class"""
def disk_space(self):
ps = Popen(self.cmd, shell=True,stdout=PIPE,stderr=PIPE)
print "RAW DISK REPORT:"
print ps.stdout.read()
if __name__ == "__main__":
d = MyDiskMonitor()
d.disk_space()
如果运行这个使用继承的脚本版本,您将获得以下输出:RAW DISK REPORT:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 3.8G 694M 2.9G 20% /
varrun 252M 48K 252M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 52K 252M 1% /dev
devshm 252M 0 252M 0% /dev/shm
- ››编写Linux定时处理程序
- ››面向对象的JS-私有成员变量实现方式
- ››编写Linux系统下Daemon程序的方法步骤
- ››编写组件,使用JavaScript更新UpdatePanel
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››编写多文档应用程序
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››编写自定义的 Android Preference 组件
- ››编写高效的Android代码
- ››编写 Android第一个程序 Hello, Android!
- ››编写使用root权限的android应用程序
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
更多精彩
赞助商链接