python处理文本文件实现生成指定格式文件的方法


Posted in Python onJuly 31, 2014

本文所述实例为Python处理文本文件并生成指定格式文件的方法,具体实现功能代码如下所示:

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 相关文章推荐
python自动格式化json文件的方法
Mar 11 Python
python中使用%与.format格式化文本方法解析
Dec 27 Python
python针对excel的操作技巧
Mar 13 Python
对Python协程之异步同步的区别详解
Feb 19 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
python制作简单五子棋游戏
Jun 18 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 Python
python语言实现贪吃蛇游戏
Nov 13 Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 Python
Python一行代码实现自动发邮件功能
May 30 Python
Python Matplotlib绘制条形图的全过程
Oct 24 Python
Python中zip()函数用法实例教程
Jul 31 #Python
Python中apply函数的用法实例教程
Jul 31 #Python
python新手经常遇到的17个错误分析
Jul 30 #Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 #Python
Python代码的打包与发布详解
Jul 30 #Python
Python中lambda的用法及其与def的区别解析
Jul 28 #Python
python代码制作configure文件示例
Jul 28 #Python
You might like
php curl 伪造IP来源的实例代码
2012/11/01 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
php-fpm中max_children的配置
2019/03/15 PHP
jQuery Ajax使用实例
2015/04/16 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
angular分页指令操作
2017/01/09 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
angular内置provider之$compileProvider详解
2017/09/27 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
Python操作串口的方法
2015/06/17 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
python基于opencv 实现图像时钟
2021/01/04 Python
英国游戏机和游戏购物网站:365games.co.uk
2018/06/18 全球购物
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
监察建议书格式
2014/05/19 职场文书
机械机修工岗位职责
2014/08/03 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
DIY胆机必读:各国电子管评价
2022/04/06 无线电
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技