</pre><pre>
这是实现一个通过ssh到主机,执行命令并产生log文件,通过检查log文件并下载ftp上的结果进行对比产生报告,并将报告上传到ftp服务器。其中的读取主机表的函数
def Read_Host(hostfile,device):
#读取主机表配置文件,并返回host字典,以ip为主键,用户名和密码为值,和room字典,以ip为主键,机房、机柜、sn号为值
hconfig = (hostfile)
if not os.path.isfile:
print "主机表不存在"
sys.exit()
try:
data = xlrd.open_workbook(hconfig)
table = data.sheet_by_name(device)
#table = data.sheets()[0] #主机配置表
nrows = table.nrows #获取行数
ncols = table.ncols #获取列数
room = {}
host = {}
for i in range(nrows):
for j in range(ncols):
if j==5 and i>0:
try:
re.match('((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)',table.cell_value(i,j)).group()
host[table.cell_value(i,j)] = table.cell_value(i,j+1)+"@"+table.cell_value(i,j+2)
room[table.cell_value(i,j)] = table.cell_value(i,j-5)+"@"+table.cell_value(i,j-4)+"@"+table.cell_value(i,j-3)+"@"+table.cell_value(i,j-2)+"@"+table.cell_value(i,j-1)
except Exception:
print "主机表信息有误,请核实"
sys.exit()
return room,host
except Exception:
print "无法打开主机表"
sys.exit()