当前位置: 首页 > news >正文

中企动力网站建设 医疗产品摄影

中企动力网站建设 医疗,产品摄影,手机兼职赚钱软件,安庆网站建设哪家好zabbix 批量添加主机 1.1::通过本教程起到抛砖引玉效果#xff0c;希望各位朋友受益良多。 1.2::如您有任何问题请联系作者#xff0c;QQ1284524409。 1.3::以下提供的任何软件仅供学习交流使用。 1.4::**项目地址** jihulib项目地址 #!/usr/bin/python # coding:utf-8 …zabbix 批量添加主机 1.1::通过本教程起到抛砖引玉效果希望各位朋友受益良多。 1.2::如您有任何问题请联系作者QQ1284524409。 1.3::以下提供的任何软件仅供学习交流使用。 1.4::**项目地址** jihulib项目地址 #!/usr/bin/python # coding:utf-8    import json import urllib2 from urllib2 import URLError import sys, argparse import xlrd defaultencoding utf-8 if sys.getdefaultencoding() ! defaultencoding:     reload(sys)     sys.setdefaultencoding(defaultencoding)    class zabbix_api:     def __init__(self):         self.url http://127.0.0.1/zabbix/api_jsonrpc.php  # 修改URL         self.header {Content-Type:application/json}         self.user_login() def user_login(self):         data json.dumps({                            jsonrpc: 2.0,                            method: user.login,                            params: {                                       user: Admin,  # web页面登录用户名                                       password: zabbix  # web页面登录密码                                       },                            id: 0                            })         request urllib2.Request(self.url, data, self.header)         try:             result urllib2.urlopen(request, timeout 2)         except URLError as e:             print u\033[041m地址请求失败请检查!\033[0m \n\033[041m%s!\033[0m % e             sys.exit(1)         else:             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 self.authID response[result]             elif response.get(error,) ! :                 print u\033[041m用户认证失败请检查!\033[0m \n\033[041m%s\033[0m % (response[error][data])                 sys.exit(1)     #![01_创建模板]     def template_get(self, templateName):         data json.dumps({                             jsonrpc:2.0,                             method:template.get,                             params:{                                     output: extend,                                     filter: {                                                 host: templateName                                             }                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][templateid]         else:             return response[result]                          def template_create(self, templateName):         default_id {}         default_id[groupid] self.hostGroup_get(000_LocalTemplates)         if default_id[groupid] []:             self.hostGroup_create(000_LocalTemplates)             default_id[groupid] self.hostGroup_get(000_LocalTemplates)         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[templateid] self.template_get(name_list_1[n_2][name])             if id_2[templateid] ! []:                 print u创建模板 : \033[041m%s\033[0m 失败!,模板重复创建 % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: template.create,                                 params: {                                             host: name_list_2[n_3][name],                                             groups: {                                                         groupid: default_id[groupid]                                                     },                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u创建模板 : \033[042m%s\033[0m 成功!,模板ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][templateids]))             elif response.get(error,) ! :                 print u创建模板 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data]) def template_delete(self, templateName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         id_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[templateids] self.template_get(name_list_1[n_2][name])             if id_2[templateids] []:                 print u删除模板 : \033[041m%s\033[0m 失败!,模板不存在! % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)             id_list_2.append(id_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: template.delete,                                 params: [                                             id_list_2[n_3][templateids]                                         ],                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u删除模板 : \033[042m%s\033[0m 成功!,模板ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][templateids]))             elif response.get(error,) ! :                 print u删除模板 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data])     #![02_为模板创建应用集]     def application_get(self, templateName, applicationName):         data json.dumps({                             jsonrpc:2.0,                             method:application.get,                             params:{                                     output: extend,                                     hostids: self.template_get(templateName),                                     filter:{                                             name: applicationName                                         },                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][applicationid]         else:             return response[result] def application_create(self, templateName, applicationName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in applicationName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为模板删除应用集失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[templateid] self.template_get(name_list_1[n_3][name])             if id_3[templateid] []:                 print u为模板 : \033[041m%s\033[0m 创建应用集失败!,\033[041m模板不存在\033[0m % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4_1 []         id_list_4_2 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4_1 {}             id_4_2 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4_1[templateid] id_list_3[n_4][templateid]             id_4_2[applicationid] self.application_get(name_list_3_1[n_4][name], name_list_3_2[n_4][name])             if id_4_2[applicationid] ! []:                 print u为模板 : \033[041m%s\033[0m 创建应用集 : \033[041m%s\033[0m 失败!,\033[041m应用集已存在!\033[0m % \                 (name_list_3_1[n_4][name], name_list_3_2[n_4][name])                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4_1.append(id_4_1)             id_list_4_2.append(id_4_2)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: application.create,                                 params: {                                             name: name_list_4_2[n_5][name],                                             hostid: id_list_4_1[n_5][templateid],                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 创建应用集 : \033[042m%s\033[0m 成功!,并且应用集ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][applicationids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 创建应用集 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], response[error][data]) def application_delete(self, templateName, applicationName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in applicationName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为模板删除应用集失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[templateid] self.template_get(name_list_1[n_3][name])             if id_3[templateid] []:                 print u为模板 : \033[041m%s\033[0m 删除应用集失败!,模板不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4[applicationid] self.application_get(name_list_3_1[n_4][name], name_list_3_2[n_4][name])             if id_4[applicationid] []:                 print u为模板删除应用集失败!,\033[041m应用集不存在\033[0m !                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4.append(id_4)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: application.delete,                                 params: [                                             id_list_4[n_5][applicationid]                                         ],                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 删除应用集 : \033[042m%s\033[0m 成功!,并且应用集ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][applicationids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 删除应用集 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], response[error][data])     #![03_为模板创建监控项]     def item_get(self, templateName, itemName):         data json.dumps({                             jsonrpc:2.0,                             method:item.get,                             params:{                                     output: extend,                                     hostids: self.template_get(templateName),                                     filter:{                                             name: itemName                                         },                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][itemid]         else:             return response[result]                    def item_create(self, templateName, itemApplication, itemName, itemKey, itemValueType, itemDely):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in itemApplication.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         name_list_3 []         for n_3 in itemName.split(//):             name_3 {}             name_3[name] n_3             name_list_3.append(name_3)         name_list_4 []         for n_4 in itemKey.split(//):             name_4 {}             name_4[name] n_4             name_list_4.append(name_4)         name_list_5 []         for n_5 in itemValueType.split(//):             name_5 {}             name_5[name] n_5             name_list_5.append(name_5)         name_list_6 []         for n_6 in itemDely.split(//):             name_6 {}             name_6[name] n_6             name_list_6.append(name_6)           if len(name_list_1) ! len(name_list_2) or \         len(name_list_1) ! len(name_list_3) or \         len(name_list_1) ! len(name_list_4) or \         len(name_list_1) ! len(name_list_5) or \         len(name_list_1) ! len(name_list_6):             print u为模板创建监控项失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_7_1 []         name_list_7_2 []         name_list_7_3 []         name_list_7_4 []         name_list_7_5 []         name_list_7_6 []         id_list_7 []         for n_7 in range(len(name_list_1)):             name_7_1 {}             name_7_2 {}             name_7_3 {}             name_7_4 {}             name_7_5 {}             name_7_6 {}             id_7 {}             name_7_1[name] name_list_1[n_7][name]             name_7_2[name] name_list_2[n_7][name]             name_7_3[name] name_list_3[n_7][name]             name_7_4[name] name_list_4[n_7][name]             name_7_5[name] name_list_5[n_7][name]             name_7_6[name] name_list_6[n_7][name]             id_7[templateid] self.template_get(name_list_1[n_7][name])             if id_7[templateid] []:                 print u为模板 : \033[041m%s\033[0m 创建监控项失败!,模板不存在 % name_list_1[n_7][name]                 continue             name_list_7_1.append(name_7_1)             name_list_7_2.append(name_7_2)             name_list_7_3.append(name_7_3)             name_list_7_4.append(name_7_4)             name_list_7_5.append(name_7_5)             name_list_7_6.append(name_7_6)             id_list_7.append(id_7)         name_list_8_1 []         name_list_8_2 []         name_list_8_3 []         name_list_8_4 []         name_list_8_5 []         name_list_8_6 []         id_list_8_1 []         id_list_8_2 []         for n_8 in range(len(name_list_1)):             name_8_1 {}             name_8_2 {}             name_8_3 {}             name_8_4 {}             name_8_5 {}             name_8_6 {}             id_8_1 {}             id_8_2 {}             name_8_1[name] name_list_7_1[n_8][name]             name_8_2[name] name_list_7_2[n_8][name]             name_8_3[name] name_list_7_3[n_8][name]             name_8_4[name] name_list_7_4[n_8][name]             name_8_5[name] name_list_7_5[n_8][name]             name_8_6[name] name_list_7_6[n_8][name]             id_8_1[templateid] id_list_7[n_8][templateid]             id_8_2[applicationid] self.application_get(name_list_7_1[n_8][name], name_list_7_2[n_8][name])             if id_8_2[applicationid] []:                 print u为监控项 : \033[041m%s\033[0m 附加应用集 : \033[041m%s\033[0m 失败!,应用集不存在 % \                 (name_list_7_3[n_8][name], name_list_7_2[n_8][name])                 continue             name_list_8_1.append(name_8_1)             name_list_8_2.append(name_8_2)             name_list_8_3.append(name_8_3)             name_list_8_4.append(name_8_4)             name_list_8_5.append(name_8_5)             name_list_8_6.append(name_8_6)             id_list_8_1.append(id_8_1)             id_list_8_2.append(id_8_2)         name_list_9_1 []         name_list_9_2 []         name_list_9_3 []         name_list_9_4 []         name_list_9_5 []         name_list_9_6 []         id_list_9_1 []         id_list_9_2 []         for n_9 in range(len(name_list_1)):             name_9_1 {}             name_9_2 {}             name_9_3 {}             name_9_4 {}             name_9_5 {}             name_9_6 {}             id_9_1 {}             id_9_2 {}             id_9_3 {}             name_9_1[name] name_list_8_1[n_9][name]             name_9_2[name] name_list_8_2[n_9][name]             name_9_3[name] name_list_8_3[n_9][name]             name_9_4[name] name_list_8_4[n_9][name]             name_9_5[name] name_list_8_5[n_9][name]             name_9_6[name] name_list_8_6[n_9][name]             id_9_1[templateid] id_list_8_1[n_9][templateid]             id_9_2[applicationid] id_list_8_2[n_9][applicationid]             id_9_3[itemid] self.item_get(name_list_8_1[n_9][name], name_list_8_3[n_9][name])             if id_9_3[itemid] ! []:                 print u为模板 : \033[041m%s\033[0m 创建监控项失败!,监控项 : \033[041m%s\033[0m 已存在,并且监控项ID为 : \033[041m%s\033[0m % \                     (name_list_8_1[n_9][name], name_list_8_3[n_9][name], id_9_3[itemid])                 continue             name_list_9_1.append(name_9_1)             name_list_9_2.append(name_9_2)             name_list_9_3.append(name_9_3)             name_list_9_4.append(name_9_4)             name_list_9_5.append(name_9_5)             name_list_9_6.append(name_9_6)             id_list_9_1.append(id_9_1)             id_list_9_2.append(id_9_2)         for n_10 in range(len(name_list_9_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: item.create,                                 params: {                                             hostid: id_list_9_1[n_10][templateid],                                             applications: [id_list_9_2[n_10][applicationid]],                                             name: name_list_9_3[n_10][name],                                             type: 7,                                             key_: name_list_9_4[n_10][name],                                             value_type: name_list_9_5[n_10][name],                                             delay: name_list_9_6[n_10][name]                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 创建监控项 : \033[042m%s\033[0m 成功!,并且监控项ID为 : \033[042m%s\033[0m % \                 (name_list_9_1[n_10][name], name_list_9_3[n_10][name], ,.join(response[result][itemids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 创建监控项 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_9_1[n_10][name], name_list_9_3[n_10][name], response[error][data]) def item_delete(self, templateName, itemName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in itemName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为模板删除应用集失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[templateid] self.template_get(name_list_1[n_3][name])             if id_3[templateid] []:                 print u为模板 : \033[041m%s\033[0m 删除监控项失败!,模板不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4[itemid] self.item_get(name_list_3_1[n_4][name], name_list_3_2[n_4][name])             if id_4[itemid] []:                 print u为模板 : \033[041m%s\033[0m 删除监控项 : \033[041m%s\033[0m 失败!,\033[041m监控项不存在\033[0m ! %\                 (name_list_4_1[n_4](name), name_list_4_2[n_4](name))                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4.append(id_4)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: item.delete,                                 params: [                                             id_list_4[n_5][itemid]                                         ],                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 删除监控项 : \033[042m%s\033[0m 成功!,并且应监控项ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][itemids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 删除监控项 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], response[error][data])     #![04_为模板创建触发器]     def trigger_get(self, templateName, descriptionName):         data json.dumps({                             jsonrpc:2.0,                             method:trigger.get,                             params:{                                     output: extend,                                     templateids: self.template_get(templateName),                                     filter:{                                             description: descriptionName                                         },                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][triggerid]         else:             return response[result] def trigger_create(self, templateName, itemName, descriptionName, expressionName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in itemName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         name_list_3 []         for n_3 in descriptionName.split(//):             name_3 {}             name_3[name] n_3             name_list_3.append(name_3)         name_list_4 []         for n_4 in expressionName.split(//):             name_4 {}             name_4[name] n_4             name_list_4.append(name_4)         if len(name_list_1) ! len(name_list_2) or \         len(name_list_1) ! len(name_list_3) or \         len(name_list_1) ! len(name_list_4):             print u为模板创建触发器失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_5_1 []         name_list_5_2 []         name_list_5_3 []         name_list_5_4 []         for n_5 in range(len(name_list_1)):             name_5_1 {}             name_5_2 {}             name_5_3 {}             name_5_4 {}             id_5 {}             name_5_1[name] name_list_1[n_5][name]             name_5_2[name] name_list_2[n_5][name]             name_5_3[name] name_list_3[n_5][name]             name_5_4[name] name_list_4[n_5][name]             id_5[templateid] self.template_get(name_list_1[n_5][name])             if id_5[templateid] []:                 print u为模板 : \033[041m%s\033[0m 的监控项创建触发器失败!,模板不存在  % name_list_1[n_5][name]                 continue             name_list_5_1.append(name_5_1)             name_list_5_2.append(name_5_2)             name_list_5_3.append(name_5_3)             name_list_5_3.append(name_5_3)             name_list_5_4.append(name_5_4)         name_list_6_1 []         name_list_6_2 []         name_list_6_3 []         name_list_6_4 []         for n_6 in range(len(name_list_5_1)):             name_6_1 {}             name_6_2 {}             name_6_3 {}             name_6_4 {}             id_6 {}             name_6_1[name] name_list_5_1[n_6][name]             name_6_2[name] name_list_5_2[n_6][name]             name_6_3[name] name_list_5_3[n_6][name]             name_6_4[name] name_list_5_4[n_6][name]             id_6[itemid] self.item_get(name_list_5_1[n_6][name], name_list_5_2[n_6][name])             if id_6[itemid] []:                 print u为模板 : \033[041m%s\033[0m 的监控项 : \033[041m%s\033[0m 创建触发器失败!,监控项不存在 % \                 (name_list_5_1[n_6][name], name_list_5_2[n_6][name])                 continue             name_list_6_1.append(name_6_1)             name_list_6_2.append(name_6_2)             name_list_6_3.append(name_6_3)             name_list_6_4.append(name_6_4)         name_list_7_1 []         name_list_7_2 []         name_list_7_3 []         name_list_7_4 []         for n_7 in range(len(name_list_5_1)):             name_7_1 {}             name_7_2 {}             name_7_3 {}             name_7_4 {}             id_7 {}             name_7_1[name] name_list_5_1[n_7][name]             name_7_2[name] name_list_5_2[n_7][name]             name_7_3[name] name_list_5_3[n_7][name]             name_7_4[name] name_list_5_4[n_7][name]             id_7[description] self.trigger_get(name_list_5_1[n_7][name], name_list_5_3[n_7][name])             if id_7[description] ! []:                 print u为模板 : \033[041m%s\033[0m 的监控项 : \033[041m%s\033[0m 创建触发器失败!,触发器 : \033[041m%s\033[0m 已存在,并且触发器ID为 : \033[041m%s\033[0m % \                 (name_list_5_1[n_7][name], name_list_5_2[n_7][name], name_list_5_3[n_7][name], id_7[description])                 continue             name_list_7_1.append(name_7_1)             name_list_7_2.append(name_7_2)             name_list_7_3.append(name_7_3)             name_list_7_4.append(name_7_4)         for n_8 in range(len(name_list_7_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: trigger.create,                                 params: {                                             description: name_list_7_3[n_8][name],                                             expression: name_list_7_4[n_8][name],                                             priority: 5,                                             manual_close: 1                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 的监控项 : \033[042m%s\033[0m 创建触发器 : \033[042m%s\033[0m 成功!,并且触发器ID为 : \033[042m%s\033[0m % \                 (name_list_7_1[n_8][name], name_list_7_2[n_8][name], name_list_7_3[n_8][name], ,.join(response[result][triggerids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 的监控项 : \033[041m%s\033[0m 创建触发器 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_7_1[n_8][name], name_list_7_2[n_8][name], name_list_7_3[n_8][name], response[error][data])                      def trigger_delete(self, templateName, descriptionName):         name_list_1 []         for n_1 in templateName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in descriptionName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为模板删除应用集失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[triggerid] self.trigger_get(name_list_1[n_3][name], name_list_2[n_3][name])             if id_3[triggerid] []:                 print u为模板 : \033[041m%s\033[0m 删除触发器 : \033[041m%s\033[0m 失败!,\033[041m触发器不存在\033[0m ! % \                 (name_list_1[n_3][name], name_list_2[n_3][name])                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         for n_4 in range(len(name_list_3_1)):             data json.dumps({                                 jsonrpc:2.0,                                 method:trigger.delete,                                 params:[                                             id_list_3[n_4][triggerid]                                         ],                                 auth:self.authID,                                 id:1,                             })             request urllib2.Request(self.url, data, self.header)                  result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为模板 : \033[042m%s\033[0m 删除触发器 : \033[042m%s\033[0m 成功!,并且触发器ID为 : \033[042m%s\033[0m % \                 (name_list_3_1[n_4][name], name_list_3_2[n_4][name], ,.join(response[result][triggerids]))             elif response.get(error,) ! :                 print u为模板 : \033[041m%s\033[0m 删除触发器 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_3_1[n_4][name], name_list_3_2[n_4][name], response[error][data])     #![05_创建主机]     def host_get(self, hostName):         data json.dumps({                             jsonrpc:2.0,                             method:host.get,                             params:{                                     output: extend,                                     filter: {                                                 host: hostName                                             },                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][hostid]         else:             return response[result] def host_create(self, hostName):         default_id {}         default_id[groupid] self.hostGroup_get(000_LocalHost)         if default_id[groupid] []:             self.hostGroup_create(000_LocalHost)             default_id[groupid] self.hostGroup_get(000_LocalHost)         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[hostid] self.host_get(name_list_1[n_2][name])             if id_2[hostid] ! []:                 print u创建主机 : \033[041m%s\033[0m 失败!,主机重复创建 % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                jsonrpc:2.0,                                method:host.create,                                params:{                                          host: name_list_2[n_3][name],                                          interfaces: [                                                             {                                                                 type: 1,                                                                 main: 1,                                                                 useip: 1,                                                                 ip: 127.0.0.1,                                                                 dns: ,                                                                 port: 10050                                                             }                                                         ],                                         groups: [                                                         {                                                             groupid: default_id[groupid]                                                         }                                                    ],                                          },                                auth: self.authID,                                id:1                               })             request urllib2.Request(self.url, data, self.header)               result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u创建主机 : \033[042m%s\033[0m 成功!,主机ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u创建主机 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data]) def host_delete(self, hostName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         id_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[hostid] self.host_get(name_list_1[n_2][name])             if id_2[hostid] []:                 print u删除主机组 : \033[041m%s\033[0m 失败!,主机组不存在 % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)             id_list_2.append(id_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: host.delete,                                 params: [                                             id_list_2[n_3][hostid]                                         ],                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u删除主机 : \033[042m%s\033[0m 成功!,主机组ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u删除主机 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data])     #![06_为主机创建接口]     def interface_get(self, hostName, ipName, portName):         data json.dumps({                             jsonrpc:2.0,                             method:hostinterface.get,                             params:{                                     output: extend,                                     hostids: self.host_get(hostName),                                     filter:{                                             ip: ipName,                                             port: portName                                         },                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)              result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][interfaceid]         else:             return response[result] def interface_massadd(self, hostName, ipName, portName, defaultName, typeName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in ipName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         name_list_3 []         for n_3 in portName.split(//):             name_3 {}             name_3[name] n_3             name_list_3.append(name_3)         name_list_4 []         for n_4 in defaultName.split(//):             name_4 {}             name_4[name] n_4             name_list_4.append(name_4)         name_list_5 []         for n_5 in typeName.split(//):             name_5 {}             name_5[name] n_5             name_list_5.append(name_5)           if len(name_list_1) ! len(name_list_2) or \         len(name_list_1) ! len(name_list_3) or \         len(name_list_1) ! len(name_list_4) or \         len(name_list_1) ! len(name_list_5):             print u为主机附加接口失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_6_1 []         name_list_6_2 []         name_list_6_3 []         name_list_6_4 []         name_list_6_5 []         id_list_6 []         for n_6 in range(len(name_list_1)):             name_6_1 {}             name_6_2 {}             name_6_3 {}             name_6_4 {}             name_6_5 {}             id_6 {}             name_6_1[name] name_list_1[n_6][name]             name_6_2[name] name_list_2[n_6][name]             name_6_3[name] name_list_3[n_6][name]             name_6_4[name] name_list_4[n_6][name]             name_6_5[name] name_list_5[n_6][name]             id_6[hostid] self.host_get(name_list_1[n_6][name])             if id_6[hostid] []:                 print u为主机附加接口失败!,主机 : \033[041m%s\033[0m 不存在 % name_list_1[n_6][name]                 continue             name_list_6_1.append(name_6_1)             name_list_6_2.append(name_6_2)             name_list_6_3.append(name_6_3)             name_list_6_4.append(name_6_4)             name_list_6_5.append(name_6_5)             id_list_6.append(id_6)         name_list_7_1 []         name_list_7_2 []         name_list_7_3 []         name_list_7_4 []         name_list_7_5 []         id_list_7 []         for n_7 in range(len(name_list_1)):             name_7_1 {}             name_7_2 {}             name_7_3 {}             name_7_4 {}             name_7_5 {}             id_7_1 {}             id_7_2 {}             name_7_1[name] name_list_1[n_7][name]             name_7_2[name] name_list_2[n_7][name]             name_7_3[name] name_list_3[n_7][name]             name_7_4[name] name_list_4[n_7][name]             name_7_5[name] name_list_5[n_7][name]             id_7_1[hostid] id_list_6[n_7][hostid]             id_7_2[interfaceid] self.interface_get(name_list_1[n_7][name], name_list_2[n_7][name], name_list_3[n_7][name])             if id_7_2[interfaceid] ! []:                 print u为主机 : \033[041m%s\033[0m 附加接口失败!,接口 : \033[041m%s\033[0m 已存在,并且接口ID为 : \033[042m%s\033[0m % \                     (name_list_1[n_7][name], name_list_3[n_7][name], id_7_2[interfaceid])                 continue             name_list_7_1.append(name_7_1)             name_list_7_2.append(name_7_2)             name_list_7_3.append(name_7_3)             name_list_7_4.append(name_7_4)             name_list_7_5.append(name_7_5)             id_list_7.append(id_7_1)         for n_8 in range(len(name_list_7_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: hostinterface.massadd,                                 params: {                                             hosts: [                                                         {                                                             hostid: id_list_7[n_8][hostid]                                                         }                                                 ],                                             interfaces: [                                                             {                                                                 dns: ,                                                                                                                                     ip: name_list_7_2[n_8][name],                                                                 main: name_list_7_4[n_8][name],                                                                 port: name_list_7_3[n_8][name],                                                                 type: name_list_7_5[n_8][name],                                                                 useip: 1,                                                             }                                                         ],                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 附加接口 : \033[042m%s\033[0m 成功!,并且接口ID为 : \033[042m%s\033[0m % \                 (name_list_7_1[n_8][name], name_list_7_3[n_8][name], ,.join(response[result][interfaceids][interfaceids]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 附加接口 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_7_1[n_8][name],name_list_7_3[n_8][name], response[error][data]) def interface_massRemove(self, hostName, ipName, portName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in ipName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         name_list_3 []         for n_3 in portName.split(//):             name_3 {}             name_3[name] n_3             name_list_3.append(name_3)         if len(name_list_1) ! len(name_list_2) or \         len(name_list_1) ! len(name_list_3):             print u为主机移除接口失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_4_1 []         name_list_4_2 []         name_list_4_3 []         id_list_4 []         for n_4 in range(len(name_list_1)):             name_4_1 {}             name_4_2 {}             name_4_3 {}             id_4 {}             name_4_1[name] name_list_1[n_4][name]             name_4_2[name] name_list_2[n_4][name]             name_4_3[name] name_list_3[n_4][name]             id_4[hostid] self.host_get(name_list_1[n_4][name])             if id_4[hostid] []:                 print u为主机 : \033[041m%s\033[0m 移除接口失败!,主机不存在 % name_list_1[n_4][name]                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             name_list_4_3.append(name_4_3)             id_list_4.append(id_4)         name_list_5_1 []         name_list_5_2 []         name_list_5_3 []         id_list_5 []         for n_5 in range(len(name_list_1)):             name_5_1 {}             name_5_2 {}             name_5_3 {}             id_5_1 {}             id_5_2 {}             name_5_1[name] name_list_1[n_5][name]             name_5_2[name] name_list_2[n_5][name]             name_5_3[name] name_list_3[n_5][name]             id_5_1[hostid] id_list_4[n_5][hostid]             id_5_2[interfaceid] self.interface_get(name_list_1[n_5][name], name_list_2[n_5][name], name_list_3[n_5][name])             if id_5_2[interfaceid] []:                 print u为主机 : \033[041m%s\033[0m 移除接口失败!,接口 : \033[041m%s\033[0m 不存在 % (name_list_1[n_5][name], name_list_3[n_5][name])                 continue             name_list_5_1.append(name_5_1)             name_list_5_2.append(name_5_2)             name_list_5_3.append(name_5_3)             id_list_5.append(id_5_1)                for n_6 in range(len(name_list_5_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: hostinterface.massremove,                                 params: {                                             hosts: [                                                         {                                                             hostids: id_list_5[n_6][hostid]                                                         }                                                 ],                                             interfaces: [                                                             {                                                                 dns: ,                                                                                                                                     ip: name_list_5_2[n_6][name],                                                                 port: name_list_5_3[n_6][name],                                                             }                                                         ],                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 移除接口 : \033[042m%s\033[0m 成功!,并且接口ID为 : \033[042m%s\033[0m % \                 (name_list_5_1[n_6][name], name_list_5_3[n_6][name], ,.join([str(i) for i in response[result][interfaceids]]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 移除接口 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_5_1[n_6][name], name_list_5_3[n_6][name], response[error][data])     #![07_为主机关联模板]     def host_massadd(self, hostName, templateName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in templateName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为主机附加模板失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[hostid] self.host_get(name_list_1[n_3][name])             if id_3[hostid] []:                 print u为主机 : \033[041m%s\033[0m 附加模板失败!,主机不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4_1 []         id_list_4_2 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4_1 {}             id_4_2 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4_1[hostid] id_list_3[n_4][hostid]             id_4_2[templateid] self.template_get(name_list_3_2[n_4][name])             if id_4_2[templateid] []:                 print u为主机附加模板 : \033[041m%s\033[0m 失败!,模板不存在! % name_list_3_2[n_4][name]                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4_1.append(id_4_1)             id_list_4_2.append(id_4_2)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: host.massadd,                                 params: {                                             hosts: [                                                             {                                                                 hostid: id_list_4_1[n_5][hostid]                                                             }                                                         ],                                             templates: [                                                         {                                                             templateid: id_list_4_2[n_5][templateid]                                                         }                                                     ],                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 附加模板 : \033[042m%s\033[0m 成功!,并且主机ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 附加模板 : \033[041m%s\033[0m 失败!,并且主机ID为 : \033[041m%s\033[0m \                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], id_list_4_2[n_5][templateid], response[error][data])          def host_massremove(self, hostName, templateName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in templateName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为主机附加模板失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[hostid] self.host_get(name_list_1[n_3][name])             if id_3[hostid] []:                 print u为主机 : \033[041m%s\033[0m 附加模板失败!,主机不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4_1 []         id_list_4_2 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4_1 {}             id_4_2 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4_1[hostid] id_list_3[n_4][hostid]             id_4_2[templateid] self.template_get(name_list_3_2[n_4][name])             if id_4_2[templateid] []:                 print u为主机附加模板 : \033[041m%s\033[0m 失败!,模板不存在! % name_list_3_2[n_4][name]                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4_1.append(id_4_1)             id_list_4_2.append(id_4_2)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: host.massremove,                                 params: {                                             hostids: [                                                             id_list_4_1[n_5][hostid]                                                     ],                                             templateids_clear: id_list_4_2[n_5][templateid]                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 移除模板 : \033[042m%s\033[0m 成功!,并且主机ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 移除模板 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], response[error][data])     #![08_创建主机组]     def hostGroup_get(self, hostGroupName):         data json.dumps({                             jsonrpc:2.0,                             method:hostgroup.get,                             params:{                                     output: extend,                                     filter: {                                                 name: hostGroupName                                             }                                     },                             auth:self.authID,                             id:1,                         })         request urllib2.Request(self.url, data, self.header)            result urllib2.urlopen(request)         response json.loads(result.read())         result.close()         if response.get(result,) ! []:             return response[result][0][groupid]         else:             return response[result]                   def hostGroup_create(self, hostGroupName):         name_list_1 []         for n_1 in hostGroupName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[groupid] self.hostGroup_get(name_list_1[n_2][name])             if id_2[groupid] ! []:                 print u创建主机组 : \033[041m%s\033[0m 失败!,主机组重复创建 % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: hostgroup.create,                                 params: {                                 name: name_list_2[n_3][name]                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)               result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u创建主机组 : \033[042m%s\033[0m 成功!,主机组ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][groupids]))             elif response.get(error,) ! :                 print u创建主机组 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data])          def hostGroup_delete(self, hostGroupName):         name_list_1 []         for n_1 in hostGroupName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         id_list_2 []         for n_2 in range(len(name_list_1)):             name_2 {}             id_2 {}             name_2[name] name_list_1[n_2][name]             id_2[groupid] self.hostGroup_get(name_list_1[n_2][name])             if id_2[groupid] []:                 print u删除主机组 : \033[041m%s\033[0m 失败!,主机组不存在 % name_list_1[n_2][name]                 continue             name_list_2.append(name_2)             id_list_2.append(id_2)         for n_3 in range(len(name_list_2)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: hostgroup.delete,                                 params: [                                             id_list_2[n_3][groupid]                                         ],                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u删除主机组 : \033[042m%s\033[0m 成功!,主机组ID为 : \033[042m%s\033[0m % (name_list_2[n_3][name], ,.join(response[result][groupids]))             elif response.get(error,) ! :                 print u删除主机组 : \033[041m%s\033[0m 失败!\n\033[041m%s\033[0m % (name_list_2[n_3][name], response[error][data])     #![09_为主机附加主机组]     def hostGroup_massadd(self, hostName, hostGroupName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in hostGroupName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为主机附加主机组失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[hostid] self.host_get(name_list_1[n_3][name])             if id_3[hostid] []:                 print u为主机 : \033[041m%s\033[0m 附加主机组失败!,主机不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4_1 []         id_list_4_2 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4_1 {}             id_4_2 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4_1[hostid] id_list_3[n_4][hostid]             id_4_2[groupid] self.hostGroup_get(name_list_3_2[n_4][name])             if id_4_2[groupid] []:                 print u为主机附加主机组 : \033[041m%s\033[0m 失败!,主机组不存在! % name_list_3_2[n_4][name]                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4_1.append(id_4_1)             id_list_4_2.append(id_4_2)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: host.massadd,                                 params: {                                             hosts: [                                                             {                                                                 hostid: id_list_4_1[n_5][hostid]                                                             }                                                         ],                                             groups: [                                                         {                                                             groupid: id_list_4_2[n_5][groupid]                                                         }                                                     ],                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 附加模板 : \033[042m%s\033[0m 成功!,并且主机ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 附加模板 : \033[041m%s\033[0m 失败!,并且主机ID为 : \033[041m%s\033[0m \                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], id_list_4_2[n_5][groupid], response[error][data]) def hostGroup_massremove(self, hostName, hostGroupName):         name_list_1 []         for n_1 in hostName.split(//):             name_1 {}             name_1[name] n_1             name_list_1.append(name_1)         name_list_2 []         for n_2 in hostGroupName.split(//):             name_2 {}             name_2[name] n_2             name_list_2.append(name_2)         if len(name_list_1) ! len(name_list_2):             print u为主机移除主机组失败!,\033[041m输入的参数存在空值\033[0m             sys.exit(1)         name_list_3_1 []         name_list_3_2 []         id_list_3 []         for n_3 in range(len(name_list_1)):             name_3_1 {}             name_3_2 {}             id_3 {}             name_3_1[name] name_list_1[n_3][name]             name_3_2[name] name_list_2[n_3][name]             id_3[hostid] self.host_get(name_list_1[n_3][name])             if id_3[hostid] []:                 print u为主机 : \033[041m%s\033[0m 移除主机组失败!,主机不存在 % name_list_1[n_3][name]                 continue             name_list_3_1.append(name_3_1)             name_list_3_2.append(name_3_2)             id_list_3.append(id_3)         name_list_4_1 []         name_list_4_2 []         id_list_4_1 []         id_list_4_2 []         for n_4 in range(len(name_list_3_1)):             name_4_1 {}             name_4_2 {}             id_4_1 {}             id_4_2 {}             name_4_1[name] name_list_3_1[n_4][name]             name_4_2[name] name_list_3_2[n_4][name]             id_4_1[hostid] id_list_3[n_4][hostid]             id_4_2[groupid] self.hostGroup_get(name_list_3_2[n_4][name])             if id_4_2[groupid] []:                 print u为主机移除主机组 : \033[041m%s\033[0m 失败!,主机组不存在! % name_list_3_2[n_4][name]                 continue             name_list_4_1.append(name_4_1)             name_list_4_2.append(name_4_2)             id_list_4_1.append(id_4_1)             id_list_4_2.append(id_4_2)         for n_5 in range(len(name_list_4_1)):             data json.dumps({                                 jsonrpc: 2.0,                                 method: host.massremove,                                 params: {                                             hostids: [                                                             id_list_4_1[n_5][hostid]                                                     ],                                             groupids: id_list_4_2[n_5][groupid]                                         },                                 auth: self.authID,                                 id: 1                             })             request urllib2.Request(self.url, data, self.header)             result urllib2.urlopen(request)             response json.loads(result.read())             result.close()             if response.get(result,) ! :                 print u为主机 : \033[042m%s\033[0m 移除主机组 : \033[042m%s\033[0m 成功!,并且主机ID为 : \033[042m%s\033[0m % \                 (name_list_4_1[n_5][name],name_list_4_2[n_5][name], ,.join(response[result][hostids]))             elif response.get(error,) ! :                 print u为主机 : \033[041m%s\033[0m 移除主机组 : \033[041m%s\033[0m 失败!\                 \n\033[041m%s\033[0m % (name_list_4_1[n_5][name],name_list_4_2[n_5][name], response[error][data]) if __name__ __main__:     zabbix zabbix_api()     #![01_创建模板]     parser argparse.ArgumentParser(descriptionzabbix  api , usage%(prog)s [options])     parser.add_argument(-ct, nargs, metavar(模板名称), destct, helpu创建模板(多个可用//隔开))     parser.add_argument(-cte, nargs?, metavar(无参数), destcte, defaultcte, \                         helpu通过zabbix_api.xlsx的Sheet2表为A列的主机批量创建模板)     parser.add_argument(-dt, metavar(模板名称), nargs, destdt, helpu删除模板(多个可用//隔开))     parser.add_argument(-dte, nargs?, metavar(无参数), destdte, defaultdte, \                         helpu通过zabbix_api.xlsx的Sheet2表从A列批量删除模板)     #![02_为模板创建应用集]     parser.add_argument(-ca, nargs, metavar(模板名称 应用集名称), destca, \                         helpu为模板(多个模板可用//隔开)创建应用集(多个应用集可用//隔开))     parser.add_argument(-cae, nargs?, metavar(无参数), destcae,defaultcae, \                         helpu通过zabbix_api.xlsx的Sheet5表为A列模板批量创建B列应用集)     parser.add_argument(-da, nargs, metavar(模板名称 应用集名称), destda, \                         helpu为模板(多个模板可用//隔开)删除应用集(多个应用集可用//隔开))     parser.add_argument(-dae, nargs?, metavar(无参数), destdae,defaultdae, \                         helpu通过zabbix_api.xlsx的Sheet5表为A列模板批量删除B列应用集)     #![03_为模板创建监控项]     parser.add_argument(-ci, nargs, \                         metavar(模板名称 应用集名称 监控项名称 监控项键值 监控项信息类型 监控项更新间隔), \                         destci, helpu为模板(多个模板可用//隔开)创建监控项(多个监控项可用//隔开))     parser.add_argument(-cie, nargs?, metavar(无参数), destcie,defaultcie, \                         helpu通过zabbix_api.xlsx的Sheet5表为A列模板批量创建CDEF列监控项,并附加到B列应用集)     parser.add_argument(-di, nargs, metavar(模板名称 应用集名称), destdi, \                         helpu为模板(多个模板可用//隔开)删除监控项(多个监控项可用//隔开))     parser.add_argument(-die, nargs?, metavar(无参数), destdie,defaultdie, \                         helpu通过zabbix_api.xlsx的Sheet5表为A列模板批量删除C列监控项)     #![04_为模板创建触发器]     parser.add_argument(-ctg, nargs, \                         metavar(模板名称 监控项名称 触发器名称 触发器表达式), \                         destctg, helpu为监控项(多个监控项可用//隔开)创建触发器(多个触发器可用//隔开))     parser.add_argument(-ctge, nargs?, metavar(无参数), destctge,defaultctge, \                         helpu通过zabbix_api.xlsx的Sheet6表为A列模板的B列监控项批量创建CD列触发器)     parser.add_argument(-dtg, nargs, metavar(模板名称 触发器名称), destdtg, \                         helpu为模板(多个模板可用//隔开)删除触发器(多个触发器可用//隔开))     parser.add_argument(-dtge, nargs?, metavar(无参数), destdtge,defaultdtge, \                         helpu通过zabbix_api.xlsx的Sheet6表为A列模板批量删除C列触发器)     #![05_创建主机]     parser.add_argument(-ch, nargs, metavar(主机名称), destch, \                         helpu创建主机(多个可用//隔开))     parser.add_argument(-che, nargs?, metavar(无参数), destche, defaultche, \                         helpu通过zabbix_api.xlsx的Sheet4表从A列批量创建主机)     parser.add_argument(-dh, nargs, metavar(主机组名称), destdh, helpu删除主机组(多个可用//隔开))     parser.add_argument(-dhe, nargs?, metavar(无参数), destdhe, defaultdhe, \                         helpu通过zabbix_api.xlsx的Sheet1表从A列批量删除主机组)     #![06_为主机创建接口]     parser.add_argument(-mai, nargs, \                         metavar(主机名称 接口地址 接口端口 作为默认接口 接口类型), \                         destmai, helpu为主机(多个主机可用//隔开)附加接口(多个接口可用//隔开))     parser.add_argument(-maie, nargs?, metavar(无参数), destmaie,defaultmaie, \                         helpu通过zabbix_api.xlsx的Sheet4表为A列主机批量附加BCDE列接口)     parser.add_argument(-mri, nargs, metavar(主机名称 接口地址 接口端口), destmri, \                         helpu为主机(多个主机可用//隔开)移除接口(多个接口可用//隔开))     parser.add_argument(-mrie, nargs?, metavar(无参数), destmrie, defaultmrie, \                         helpu通过zabbix_api.xlsx的Sheet4表为A列主机批量移除BC列接口)     #![07_为主机关联模板]     parser.add_argument(-mat, nargs, metavar(主机组名称 模板名称), destmat, \                         helpu为主机(多个主机可用//隔开)附加模板(多个模板可用//隔开))     parser.add_argument(-mate, nargs?, metavar(无参数), destmate,defaultmate, \                         helpu通过zabbix_api.xlsx的Sheet3表为A列主机组批量附加B列模板)     parser.add_argument(-mrt, nargs, metavar(主机组名称 模板名称), destmrt, \                         helpu为主机(多个主机可用//隔开)移除模板(多个模板可用//隔开))     parser.add_argument(-mrte, nargs?, metavar(无参数), destmrte, defaultmrte,\                         helpu通过zabbix_api.xlsx的Sheet3表为A列主机组批量移除B列模板)     #![08_创建主机组]     parser.add_argument(-cg, nargs, metavar(主机组名称), destcg, helpu创建主机组(多个可用//隔开))     parser.add_argument(-cge, nargs?, metavar(无参数), destcge, defaultcge, \                         helpu通过zabbix_api.xlsx的Sheet1表从A列批量创建主机组)     parser.add_argument(-dg, nargs, metavar(主机组名称), destdg, helpu删除主机组(多个可用//隔开))     parser.add_argument(-dge, nargs?, metavar(无参数), destdge, defaultdge, \                         helpu通过zabbix_api.xlsx的Sheet1表从A列批量删除主机组)     #![09_为主机附加主机组]     parser.add_argument(-mag, nargs, metavar(主机名称 模板名称), destmag, \                         helpu为主机(多个主机可用//隔开)附加主机组(多个主机组可用//隔开))     parser.add_argument(-mage, nargs?, metavar(无参数), destmage,defaultmage, \                         helpu通过zabbix_api.xlsx的Sheet3表为A列主机批量附加B列主机组)     parser.add_argument(-mrg, nargs, metavar(主机组名称 模板名称), destmrg, \                         helpu为主机(多个主机可用//隔开)移除主机组(多个主机组可用//隔开))     parser.add_argument(-mrge, nargs?, metavar(无参数), destmrge, defaultmrge,\                         helpu通过zabbix_api.xlsx的Sheet3表为A列主机组批量移除B列主机组)     parser.add_argument(-v, --version, actionversion, version%(prog)s 如有问题请联系作者QQ1284524409, helpu如有问题请联系作者QQ1284524409)     if len(sys.argv) 1:         print parser.print_help()     else:         args parser.parse_args()         #![01_创建模板]         if args.ct:             zabbix.template_create(args.ct[0])         elif args.cte ! cte:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[0].nrows):                 if row 0:                     continue                 else:                     templateName workbook.sheets()[0].cell(row, 0).value                     if templateName :                         break                     try:                         zabbix.template_create(templateName)                     except Exception as e:                         print uSheet2表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         elif args.dt:             zabbix.template_delete(args.dt[0])         elif args.dte ! dte:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[0].nrows):                 if row 0:                     continue                 else:                     templateName workbook.sheets()[0].cell(row, 0).value                     if templateName :                         break                     try:                         zabbix.template_delete(templateName)                     except Exception as e:                         print uSheet2表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         #![02_为模板创建应用集]         elif args.ca:             zabbix.application_create(args.ca[0], args.ca[1])         elif args.cae ! cae:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[1].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[1].cell(x, 0).value                     if templateName :                         break                     applicationName workbook.sheets()[1].cell(x, 1).value                     if applicationName :                         break                     try:                         zabbix.application_create(templateName, applicationName)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         elif args.da:             zabbix.application_delete(args.da[0], args.da[1])         elif args.dae ! dae:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[1].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[1].cell(x, 0).value                     if templateName :                         break                     applicationName workbook.sheets()[1].cell(x, 1).value                     if applicationName :                         break                     try:                         zabbix.application_delete(templateName, applicationName)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         #![03_为模板创建监控项]         elif args.ci:             zabbix.item_create(args.ci[0], args.ci[1], args.ci[2], args.ci[3], args.ci[4], args.ci[5])         elif args.cie ! cie:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[6].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[2].cell(x, 0).value                     if templateName :                         break                     itemApplication workbook.sheets()[2].cell(x, 1).value                     if itemApplication :                         break                     itemName workbook.sheets()[2].cell(x, 2).value                     if itemName :                         break                     itemKey workbook.sheets()[2].cell(x, 3).value                     if itemKey :                         break                     itemValueType workbook.sheets()[2].cell(x, 4).value                     if itemValueType :                         break                     itemDely workbook.sheets()[2].cell(x, 5).value                     if itemDely :                         break                     try:                         zabbix.item_create(templateName, itemApplication, itemName, itemKey, str(int(itemValueType)), itemDely)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         elif args.di:             zabbix.item_delete(args.di[0], args.di[1])         elif args.die ! die:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[2].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[2].cell(x, 0).value                     if templateName :                         break                     itemName workbook.sheets()[2].cell(x, 1).value                     if itemName :                         break                     try:                         zabbix.item_delete(templateName, itemName)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         #![04_为模板创建触发器]         elif args.ctg:             zabbix.trigger_create(args.ctg[0], args.ctg[1], args.ctg[2], args.ctg[3])         elif args.ctge ! ctge:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[3].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[3].cell(x, 0).value                     if templateName :                         break                     itemName workbook.sheets()[3].cell(x, 1).value                     if itemName :                         break                     descriptionName workbook.sheets()[3].cell(x, 2).value                     if descriptionName :                         break                     expressionName workbook.sheets()[3].cell(x, 3).value                     if expressionName :                         break                     try:                         zabbix.trigger_create(templateName, itemName, descriptionName, expressionName)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         elif args.dtg:             zabbix.trigger_delete(args.dtg[0], args.dtg[1])         elif args.dtge ! dtge:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for x in xrange(workbook.sheets()[3].nrows):                 if x 0:                     continue                 else:                     templateName workbook.sheets()[3].cell(x, 0).value                     if templateName :                         break                     triggerName workbook.sheets()[3].cell(x, 2).value                     if triggerName :                         break                     try:                         zabbix.trigger_delete(templateName, triggerName)                     except Exception as e:                         print uSheet5表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (x 1, e)                         sys.exit(1)         #![05_创建主机]         elif args.ch:             zabbix.host_create(args.ch[0])         elif args.che ! che:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[4].nrows):                 if row 0:                     continue                 else:                                         hostName workbook.sheets()[4].cell(row, 0).value                     if hostName :                         break                     try:                         zabbix.host_create(hostName)                     except Exception as e:                         print uSheet4表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         elif args.dh:             zabbix.host_delete(args.dh[0])         elif args.dhe ! dhe:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[4].nrows):                 if row 0:                     continue                 else:                     hosthost workbook.sheets()[4].cell(row, 0).value                     if hosthost :                         break                     try:                         zabbix.host_delete(hosthost)                     except Exception as e:                         print uSheet4表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         #![06_为主机创建接口]         elif args.mai:             zabbix.interface_massadd(args.mai[0], args.mai[1], args.mai[2], args.mai[3], args.mai[4])         elif args.maie ! maie:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for col1 in xrange(workbook.sheets()[5].nrows):                 if col1 0:                     continue                 else:                     hostName workbook.sheets()[5].cell(col1, 0).value                     if hostName :                         break                     ipName workbook.sheets()[5].cell(col1, 1).value                     if ipName :                         break                     portName workbook.sheets()[5].cell(col1, 2).value                     if portName :                         break                     defaultName workbook.sheets()[5].cell(col1, 3).value                     if defaultName :                         break                     typeName workbook.sheets()[5].cell(col1, 4).value                     if typeName :                         break                     try:                         zabbix.interface_massadd(hostName, ipName, str(int(portName)), str(int(defaultName)), str(int(typeName)))                     except Exception as e:                         print uSheet4表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (col1 1, e)                         sys.exit(1)         elif args.mri:             zabbix.interface_massRemove(args.mri[0], args.mri[1], args.mri[2])         elif args.mrie ! mrie:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for col1 in xrange(workbook.sheets()[5].nrows):                 if col1 0:                     continue                 else:                     hostName workbook.sheets()[5].cell(col1, 0).value                     if hostName :                         break                     ipName workbook.sheets()[5].cell(col1, 1).value                     if ipName :                         break                     portName workbook.sheets()[5].cell(col1, 2).value                     if portName :                         break                     try:                         zabbix.interface_massRemove(hostName, ipName, str(int(portName)))                     except Exception as e:                         print uSheet4表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (col1 1, e)                         sys.exit(1)         #![07_为主机关联模板]         elif args.mat:             zabbix.host_massadd(args.mat[0], args.mat[1])         elif args.mate ! mate:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for n_1 in xrange(workbook.sheets()[6].nrows):                 if n_1 0:                     continue                 else:                     hostgroup workbook.sheets()[6].cell(n_1, 0).value                     if hostgroup :                         break                     templateName workbook.sheets()[6].cell(n_1, 1).value                     if templateName :                         break                     try:                         zabbix.host_massadd(hostgroup, templateName)                     except Exception as e:                         print uSheet3表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (n_1 1, e)                         sys.exit(1)         elif args.mrt:             zabbix.host_massremove(args.mrt[0], args.mrt[1])         elif args.mrte ! mrte:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for n_1 in xrange(workbook.sheets()[6].nrows):                 if n_1 0:                     continue                 else:                     hostgroup workbook.sheets()[6].cell(n_1, 0).value                     if hostgroup :                         break                     templateName workbook.sheets()[6].cell(n_1, 1).value                     if templateName :                         break                     try:                         zabbix.host_massremove(hostgroup, templateName)                     except Exception as e:                         print uSheet3表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (n_1 1, e)                         sys.exit(1)         #![08_创建主机组]         elif args.cg:             zabbix.hostGroup_create(args.cg[0])         elif args.cge ! cge:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[7].nrows):                 if row 0:                     continue                 else:                                         hostgroup workbook.sheets()[7].cell(row, 0).value                     if hostgroup :                         break                     try:                         zabbix.hostGroup_create(hostgroup)                     except Exception as e:                         print uSheet1表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         elif args.dg:             zabbix.hostGroup_delete(args.dg[0])         elif args.dge ! dge:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for row in xrange(workbook.sheets()[7].nrows):                 if row 0:                     continue                 else:                     hostgroup workbook.sheets()[7].cell(row, 0).value                     if hostgroup :                         break                     try:                         zabbix.hostGroup_delete(hostgroup)                     except Exception as e:                         print uSheet1表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (row 1, e)                         sys.exit(1)         #![09_为主机附加主机组]         elif args.mag:             zabbix.hostGroup_massadd(args.mag[0], args.mag[1])         elif args.mage ! mage:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for n_1 in xrange(workbook.sheets()[8].nrows):                 if n_1 0:                     continue                 else:                     hostName workbook.sheets()[8].cell(n_1, 0).value                     if hostName :                         break                     hostGroupName workbook.sheets()[8].cell(n_1, 1).value                     if hostGroupName :                         break                     try:                         zabbix.hostGroup_massadd(hostName, hostGroupName)                     except Exception as e:                         print uSheet3表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (n_1 1, e)                         sys.exit(1)         elif args.mrg:             zabbix.hostGroup_massremove(args.mrt[0], args.mrt[1])         elif args.mrge ! mrge:             workbook xlrd.open_workbook(zabbix_api.xlsx)             for n_1 in xrange(workbook.sheets()[8].nrows):                 if n_1 0:                     continue                 else:                     hostName workbook.sheets()[8].cell(n_1, 0).value                     if hostName :                         break                     hostGroupName workbook.sheets()[8].cell(n_1, 1).value                     if hostGroupName :                         break                     try:                         zabbix.hostGroup_massremove(hostName, hostGroupName)                     except Exception as e:                         print uSheet3表第\033[041m%s\033[0m行数据异常\n\033[041m%s\033[0m % (n_1 1, e)                         sys.exit(1)
http://www.pierceye.com/news/243597/

相关文章:

  • 免费网页制作网站建设2015年做啥网站致富
  • 个人网站制作基本步骤江阴网站的建设
  • 英文网站名需要斜体吗宁波seo外包费用
  • 网站设计价格公司门户网站建设
  • wordpress如何修改文章路径哈尔滨个人优化排名
  • 拓者设计吧网站科技基金
  • 有专门下载地图做方案的网站吗家装公司报价
  • 阿里域名注册网站阿里云建站保证销售额
  • 三北防护林体系建设网站培训班学员培训心得
  • 西安百度网站排名优化友情链接代码模板
  • 网站建设怎么做网站济南做网站推广有哪些公司
  • 恩阳建设局网站南阳网站建设赛科
  • 服务器IP做网址打开网站传媒公司宣传
  • 安装Wordpress个人网站医院网站建设公司价格低
  • 万能网页编辑器南通百度seo代理
  • 关于酒店网站建设的摘要手机百度2020
  • 楚雄网站建设rewlkj自己怎么建立个人网站
  • 网站开发工程师工作描述加强门户网站建设与管理办法
  • 电商网站优化方案个人网站设计与制作代码
  • 仙居建设规划局网站asp 茶叶网站模板
  • 福州网页模板建站梦幻西如何建立网站做代练
  • 专业做毕业设计网站设计禹州市城乡建设局网站
  • 魔站网站开发手机商城官网
  • 沧州 网站建设公众号搭建第三方平台
  • 天津建设项目招投标网站唐山网站建设推广
  • 长沙h5建站手机图片网站源码
  • php网站项目无锡有网页制作公司吗
  • 做企业网站需要收费吗wordpress单主题
  • 潮州网站开发多少钱wordpress用户调用
  • 湖南响应式网站公司闸北建设机械网站