#!/usr/bin/env python # -*- coding: utf-8 -*- import json import sys import cx_Oracle # def group(): # info_dict = {"all":["192.168.137.3","192.168.137.4"]} # print json.dumps(info_dict,indent=4) # def host(ip): # info_dict = {"192.168.137.3":{"ansible_ssh_host":"测试环境1"},"192.168.1.6":{"ansible_ssh_host":"测试环境2"}} # print json.dumps(info_dict[ip],indent=4) # if len(sys.argv) == 2 and (sys.argv[1] == '--list'): # group() # elif len(sys.argv) == 3 and (sys.argv[1] == '--host'): # host(sys.argv[2]) # else: # print "Usage: %s --list or --host <hostname>" % sys.argv[0] # sys.exit(1) def readDb(sql): conn = cx_Oracle.connect('system/oracle@192.168.137.2/serv') cursor = conn.cursor() xsql=sql print xsql r = cursor.execute(xsql) return r arr1=[] def groupList(): a=readDb('select ip from tlcb_mon_device') for x in a: arr1.append(x[0]) b={'test':arr1} c=json.dumps(b) print c arr2=[] host_dict = {} def hostList(key): a=readDb('select * from tlcb_mon_device') for x in a: host_dict[x[0]]={"ansible_ssh_host":x[0],"ansible_ssh_desc":x[1]} return host_dict[key] print '------------hostList-----------------------------------------' a=hostList('192.168.137.3') print a print type(a) print a['ansible_ssh_host'] print a['ansible_ssh_desc'].decode('gbk').encode('utf-8') print len(a['ansible_ssh_desc']) print '---------------groupList--------------------------------------' groupList() C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a20.py ------------hostList----------------------------------------- select * from tlcb_mon_device {'ansible_ssh_host': '192.168.137.3', 'ansible_ssh_desc': '\xb2\xe2\xca\xd4\xd6\xf7\xbb\xfa'} <type 'dict'> 192.168.137.3 测试主机 8 ---------------groupList-------------------------------------- select ip from tlcb_mon_device {"test": ["192.168.137.3", "192.168.137.4", "115.236.19.4"]} Process finished with exit code 0