Python 提取dict转换为xml/json/table并输出的实现代码

时间:2022-09-21 22:56:37

核心代码:

  1. #!/usr/bin/python 
  2. #-*- coding:gbk -*- 
  3. #设置源文件输出格式 
  4. import sys 
  5. import getopt 
  6. import json 
  7. import createDict 
  8. import myConToXML 
  9. import myConToTable 
  10.    
  11.    
  12. def getRsDataToDict(): 
  13.   #获取控制台中输入的参数,并根据参数找到源文件获取源数据 
  14.   csDict={} 
  15.   try
  16.     #通过getopt获取参数 
  17.     opts,args=getopt.getopt(sys.argv[1:],"",["output=","file=","query="]) 
  18.     csDict=createDict.procParam(opts,args) 
  19.     return csDict 
  20.   except getopt.GetoptError: 
  21.     print getopt.error 
  22.     sys.exit() 
  23.    
  24. def collectionToJson(contentTxt): 
  25.   #参数1表示python对象;参数2表示按照字典排序;参数3表示根据格式缩进显示 
  26.   jsoninfo = json.dumps(contentTxt,sort_keys=True,indent=2) 
  27.   print "JSON输出:" 
  28.   print type(jsoninfo) 
  29.   print jsoninfo 
  30.    
  31. if __name__=="__main__"
  32.   #输入参数格式为>python test.py output=json file=c:\..\input.txt query=Permission[0] 
  33.   inputParm=getRsDataToDict() 
  34.   if inputParm["query"]!=None: 
  35.     csDict=createDict.getQueryRs(inputParm["contentTxt"],inputParm["query"]) 
  36.   else
  37.     csDict=inputParm["contentTxt"
  38.   output=inputParm["output"
  39.   if output=="json"
  40.     collectionToJson(csDict) 
  41.   elif output=="xml"
  42.     path='C:\\Users\\Vincent\\Documents\\MyTest1.xml' 
  43.     encod='utf8' 
  44.     myConToXML.getDictToXml(csDict,path,encod) 
  45.   elif output=="table"
  46.     myConToTable.ContentToTable(csDict)