Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89897
  • 博文数量: 30
  • 博客积分: 1501
  • 博客等级: 上尉
  • 技术积分: 300
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-01 09:23
文章分类

全部博文(30)

文章存档

2011年(6)

2010年(24)

分类: Python/Ruby

2010-12-02 16:24:21

初稿
#!/usr/bin/env python
from glob import glob
if __name__ == "__main__":
            ret = {}
            for f in glob("/home/xinchang.jl/admin_auth/*"):
                    for line in open(f).readlines():
                            if not line or len(line.split()) < 3:
                                    continue
                            user = line.split()[-1]
                            file = f.split("/")[-1]
                            if user.split("@")[0] != file.split("@")[0]:
                                    ret[line.split()[-1]] = file
                            else:
                                    pass
            print ret
第二次修改:
#!/usr/bin/env python
from glob import glob
if __name__ == "__main__":
            ret = {}
            a = 0
            def add_key(username,hostname):
                    global ret
                    if ret.has_key(username):
                            ret[username] += "," + hostname
                    else:
                            ret[username] = hostname
            for f in glob("/home/xinchang.jl/admin_auth/*"):
                    for line in open(f).readlines():
                            if not line or len(line.split()) < 3:
                                    continue
                            elif line.split()[0] == 'ssh-rsa' or line.split()[0] == 'ssh-dss':
                                    user = line.split()[-1]
                                    file = f.split("/")[-1]
                                    if user.split("@")[0] != file.split("@")[0]:
                                            add_key(user,file)
                            else:
                                    pass
            for host_name in ret.keys():
                           print host_name,":"
                           h = ret[host_name].split(",")
                           for host in h:
                                    print "  ",host
第三次修改:
#!/usr/bin/env python
from glob import glob
from optparse import OptionParser
parser = OptionParser(usage="%prog [-f] [-q]",version="%prog 1.0")
parser.add_option("-f","--file",dest="filename",default="filename",type="string")
(options,args) = parser.parse_args()
if __name__ == "__main__":
            ret = {}
            a = 0
            def add_key(username,hostname):
                    global ret
                    if ret.has_key(username):
                            ret[username] += "," + hostname
                    else:
                            ret[username] = hostname
            for f in glob(options.filename):
                    for line in open(f).readlines():
                            if not line or len(line.split()) < 3:
                                    continue
                            elif line.split()[0] == 'ssh-rsa' or line.split()[0] == 'ssh-dss':
                                    user = line.split()[-1]
                                    file = f.split("/")[-1]
                                    if user.split("@")[0] != file.split("@")[0]:
                                            add_key(user,file)
                            else:
                                    pass
            for host_name in ret.keys():
                           print host_name,":"
                           h = ret[host_name].split(",")
                           for host in h:
                                    print "  ",host
最终修订版:
#!/usr/bin/env python
from glob import glob
from optparse import OptionParser
parser = OptionParser(usage="%prog [-f] [-q]",version="%prog 1.1")
parser.add_option("-f","--file",dest="filename",default="filename",type="string")
(options,args) = parser.parse_args()
if __name__ == "__main__":
            ret = {}
            a = 0
            def add_key(username,hostname):
                    global ret
                    if ret.has_key(username):
                            ret[username] += "," + hostname
                    else:
                            ret[username] = hostname
            for f in glob(options.filename + "/*"):
                    for line in open(f).readlines():
                            if not line or len(line.split()) < 3:
                                    continue
                            elif line.split()[0] == 'ssh-rsa' or line.split()[0] == 'ssh-dss':
                                    user = line.split()[-1]
                                    file = f.split("/")[-1]
                                    if user.split("@")[0] != file.split("@")[0]:
                                            add_key(user,file)
                            else:
                                    pass
            for host_name in ret.keys():
                           print host_name,":"
                           h = ret[host_name].split(",")
                           for host in h:
                                    print "  ",host

阅读(948) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-03 15:21:35

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com