面向系统管理员的 Python
2008-09-30 12:43:53 来源:WEB开发网您完全可以对这些脚本进行相应的修改。这是非常正确的做法!Python 脚本的本质是,可以很容易地对它们进行修改和自定义,而不需要重新编译代码。
示例 1:搜索文件,并以一种友好的格式显示权限
第一个示例程序(请参见清单 1)用于搜索匹配某种模式(基于用户的输入)的文件、以及为特定文件所分配的权限,并将结果显示在屏幕上。乍看上去,您可能认为这个程序并不比执行一个 find 命令能够完成更多的工作;然而,它能够以一种自定义的方式来显示结果,并且您用于显示这种增强的查找结果的选项是几乎不受任何限制的。这个示例向您介绍了如何使用一个系统命令,并使其更加完善(或者至少更具自定义性)。
该脚本主要执行下面三项任务:
从用户那里获得搜索模式。
执行搜索。
将结果呈现给用户。
在编写这个脚本时,您需要不断地问自己这个问题,“这个代码支持哪种任务?”向自己提这个问题,可以使得您更加关注于您的工作,并且提高效率。
清单 1. 搜索文件,并在结果中列出文件权限
import stat, sys, os, string, commands
#Getting search pattern from user and assigning it to a list
try:
#run a 'find' command and assign results to a variable
pattern = raw_input("Enter the file pattern to search for:n")
commandString = "find " + patterncommandOutput = commands.getoutput(commandString)
findResults = string.split(commandOutput, "n")
#output find results, along with permissions
print "Files:"
print commandOutput
print "================================"
for file in findResults:
mode=stat.S_IMODE(os.lstat(file)[stat.ST_MODE])
print "nPermissions for file ", file, ":"
for level in "USR", "GRP", "OTH":
for perm in "R", "W", "X":
if mode %amp; getattr(stat,"S_I"+perm+level):
print level, " has ", perm, " permission"
else:
print level, " does NOT have ", perm, " permission"
except:
print "There was a problem - check the message above"
- ››面向对象的JS-私有成员变量实现方式
- ››面向对象的JavaScript (一、对象基础,使用函数来...
- ››面向对象数据库 db4o 之旅,第 4 部分: 使用 dRS
- ››面向 Java Web 应用程序的 OpenID,第 2 部分: 为...
- ››面向 Java 开发人员的 db4o 指南: 简介和概览
- ››面向 Java 开发人员的 db4o 指南: 查询,更新和一...
- ››面向 Java 开发人员的 db4o 指南: db4o 中的数据库...
- ››面向 Java 开发人员的 db4o 指南: 超越简单对象
- ››面向 Java 开发人员的 db4o 指南: 结构化对象和集...
- ››面向 Java 开发人员的 db4o 指南: 事务、分布和安...
- ››面向 Java Web 应用程序的 OpenID,第 1 部分:在...
- ››面向数据库管理员的SQL Server 2008安全性概述
更多精彩
赞助商链接