Python handles text files to implement methods for generating files in the specified format
- 2020-04-02 13:51:57
- OfStack
The example described in this paper is the method of processing text files and generating files with specified format for Python. The specific implementation code is shown as follows:
import os
import sys
import string
# Opens the specified file in the specified mode and gets the file handle
def getFileIns(filePath,model):
print(" Open the file ")
print(filePath)
print(model)
return open(filePath,model)
# Gets the files that need to be processed
def getProcFile(path):
return os.listdir(path)
# Determine if a condition is met, and if so, execute
def isTrue(outFileIns,s):
findStr1 = "LINE_COUNT_UPDATE INTEGER := 0;"
writeStr1 = "LINE_COUNT_ERROR INTEGER := 0; -- Wrong data XX article "
findStr2 = "DBMS_OUTPUT.PUT_LINE(' processed "
writeStr2 = "DBMS_OUTPUT.PUT_LINE(' Wrong data ['||LINE_COUNT_ERROR||'] article .');"
findStr3 = "DBMS_OUTPUT.PUT_LINE(' Insert data ['||CUR_RESULT.INT_ID||'] Abnormal occurrence at time ...');"
writeStr3 = "LINE_COUNT_ERROR := LINE_COUNT_ERROR+1;"
findStr4 = "DBMS_OUTPUT.PUT_LINE(' Update the data ['||CUR_RESULT.INT_ID||'] Abnormal occurrence at time ...');"
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("tttt"+writeStr3+"n")
elif s.find(findStr4) != -1:
outFileIns.write(s)
outFileIns.write("ttttt"+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("tttAND A.LONGITUDE IS NOT NULLntttAND A.LONGITUDE IS NOT NULLntttAND ROWNUM<2n")
elif s.find(") LOOP") != -1:
outFileIns.write("tt) LOOPn")
else:
outFileIns.write(s.replace("||')',2","||')',3"))
# Read and process the text
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()