首页 > 编程 > Python > 正文

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

2019-11-25 18:18:16
字体:
来源:转载
供稿:网友
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()
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表