Python 提取dict转换为xml/json/table并输出的实现代码
核心代码:
#!/usr/bin/python #-*-coding:gbk-*- #设置源文件输出格式 importsys importgetopt importjson importcreateDict importmyConToXML importmyConToTable defgetRsDataToDict(): #获取控制台中输入的参数,并根据参数找到源文件获取源数据 csDict={} try: #通过getopt获取参数 opts,args=getopt.getopt(sys.argv[1:],"",["output=","file=","query="]) csDict=createDict.procParam(opts,args) returncsDict exceptgetopt.GetoptError: printgetopt.error sys.exit() defcollectionToJson(contentTxt): #参数1表示python对象;参数2表示按照字典排序;参数3表示根据格式缩进显示 jsoninfo=json.dumps(contentTxt,sort_keys=True,indent=2) print"JSON输出:" printtype(jsoninfo) printjsoninfo if__name__=="__main__": #输入参数格式为>pythontest.pyoutput=jsonfile=c:\..\input.txtquery=Permission[0] inputParm=getRsDataToDict() ifinputParm["query"]!=None: csDict=createDict.getQueryRs(inputParm["contentTxt"],inputParm["query"]) else: csDict=inputParm["contentTxt"] output=inputParm["output"] ifoutput=="json": collectionToJson(csDict) elifoutput=="xml": path='C:\\Users\\Vincent\\Documents\\MyTest1.xml' encod='utf8' myConToXML.getDictToXml(csDict,path,encod) elifoutput=="table": myConToTable.ContentToTable(csDict)