您的位置:首页 > 编程语言 > Python开发

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

2014-07-31 13:20 716 查看
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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 文件
相关文章推荐