:" 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
|