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

808次阅读  |  发布于5年以前

核心代码:


    #!/usr/bin/python
    #-*- coding:gbk -*-
    #设置源文件输出格式
    import sys
    import getopt
    import json
    import createDict
    import myConToXML
    import myConToTable


    def getRsDataToDict():
      #获取控制台中输入的参数,并根据参数找到源文件获取源数据
      csDict={}
      try:
        #通过getopt获取参数
        opts,args=getopt.getopt(sys.argv[1:],"",["output=","file=","query="])
        csDict=createDict.procParam(opts,args)
        return csDict
      except getopt.GetoptError:
        print getopt.error
        sys.exit()

    def collectionToJson(contentTxt):
      #参数1表示python对象;参数2表示按照字典排序;参数3表示根据格式缩进显示
      jsoninfo = json.dumps(contentTxt,sort_keys=True,indent=2)
      print "JSON输出:"
      print type(jsoninfo)
      print jsoninfo

    if __name__=="__main__":
      #输入参数格式为>python test.py output=json file=c:\..\input.txt query=Permission[0]
      inputParm=getRsDataToDict()
      if inputParm["query"]!=None:
        csDict=createDict.getQueryRs(inputParm["contentTxt"],inputParm["query"])
      else:
        csDict=inputParm["contentTxt"]
      output=inputParm["output"]
      if output=="json":
        collectionToJson(csDict)
      elif output=="xml":
        path='C:\\Users\\Vincent\\Documents\\MyTest1.xml'
        encod='utf8'
        myConToXML.getDictToXml(csDict,path,encod)
      elif output=="table":
        myConToTable.ContentToTable(csDict)

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8