• 技术文章 >后端开发 >Python教程

    python处理文本文件并生成指定格式的文件

    2016-06-06 11:32:13原创480
    import os 
    import sys 
    import string 
     
    #以指定模式打开指定文件,获取文件句柄 
    def getFileIns(filePath,model): 
      print("打开文件") 
      print(filePath) 
      print(model) 
      return open(filePath,model) 
     
    #获取需要处理的文件 
    def getProcFile(path): 
      return os.listdir(path) 
     
    #判断是否满足某个条件,如果满足则执行 
    def isTrue(outFileIns,s): 
      findStr1 = "LINE_COUNT_UPDATE   INTEGER := 0;" 
      writeStr1 = "LINE_COUNT_ERROR    INTEGER := 0;    --错误数据XX条" 
      findStr2 = "DBMS_OUTPUT.PUT_LINE('处理完毕" 
      writeStr2 = "DBMS_OUTPUT.PUT_LINE('错误数据['||LINE_COUNT_ERROR||']条.');" 
      findStr3 = "DBMS_OUTPUT.PUT_LINE('插入数据['||CUR_RESULT.INT_ID||']时发生异常...');" 
      writeStr3 = "LINE_COUNT_ERROR := LINE_COUNT_ERROR+1;" 
      findStr4 = "DBMS_OUTPUT.PUT_LINE('更新数据['||CUR_RESULT.INT_ID||']时发生异常...');" 
       
      if s.find(findStr1) != -1: 
        outFileIns.write(s) 
        outFileIns.write(writeStr1+"\n") 
      elif s.find(findStr2) != -1: 
        outFileIns.write(s) 
        outFileIns.write(writeStr2+"\n") 
      elif s.find(findStr3) != -1: 
        outFileIns.write(s) 
        outFileIns.write("\t\t\t\t"+writeStr3+"\n") 
      elif s.find(findStr4) != -1: 
        outFileIns.write(s) 
        outFileIns.write("\t\t\t\t\t"+writeStr3+"\n") 
      elif s.find("CS_OSLGIS") != -1: 
        outFileIns.write(s.replace("CS_OSLGIS","CQ_RMW")) 
      elif s.find("AND A.LONGITUDE >") != -1: 
        outFileIns.write("\t\t\tAND A.LONGITUDE IS NOT NULL\n\t\t\tAND A.LONGITUDE IS NOT NULL\n\t\t\tAND ROWNUM<2\n") 
      elif s.find(") LOOP") != -1: 
        outFileIns.write("\t\t) LOOP\n") 
      else: 
        outFileIns.write(s.replace("||')',2","||')',3")) 
     
    #读取并处理文本 
    def getAndProc(inFileIns,outFileIns): 
      lines = inFileIns.readlines() 
      for s in lines: 
        #print(s) 
        isTrue(outFileIns,s) 
     
    if __name__=="__main__": 
       
      inFileMod = "r" 
      outFileMod = "w" 
      path = "D:\\rmsdata2gis" 
      for tmpFile in os.listdir(path): 
        inFilePath = path+"\\"+tmpFile 
        outFilePath = path+"\\BAK_"+tmpFile 
        inFileIns = getFileIns(inFilePath,inFileMod) 
        outFileIns = getFileIns(outFilePath,outFileMod) 
        getAndProc(inFileIns,outFileIns) 
        inFileIns.close() 
        outFileIns.close()
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:文本文件 指定格式
    上一篇:Python常用正则表达式符号浅析 下一篇:python+mysql实现简单的web程序
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 实例详解Python面向对象的四大特征• 简单学习Python字符和列表(实例详解)• 图文详解怎么用Python绘制动态可视化图表• 介绍六个超好用的Python内置函数• 一起聊聊Python的编码样式
    1/1

    PHP中文网