WEB开发网
开发学院软件开发Python 面向系统管理员的 Python 阅读

面向系统管理员的 Python

 2008-09-30 12:43:53 来源:WEB开发网   
核心提示: 您完全可以对这些脚本进行相应的修改,这是非常正确的做法!Python 脚本的本质是,面向系统管理员的 Python(2),可以很容易地对它们进行修改和自定义,而不需要重新编译代码,可以使得您更加关注于您的工作,并且提高效率, 示例 1:搜索文件,并以一种友好的格式显示权限第一个示例程序(请

您完全可以对这些脚本进行相应的修改。这是非常正确的做法!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"

上一页  1 2 3 4 5 6 7  下一页

Tags:面向 管理员

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接