zoukankan      html  css  js  c++  java
  • 使用fileinput模块进行原地修改文件 分类: python 小练习 2013-08-13 16:47 618人阅读 评论(0) 收藏


    现有一个包含用户信息的文件userinfo,内容格式如下:

    insert into USERINFO (ID, USERNAME, PWDHASH, USEALIAS, ALIAS, REALNAME, INUSE, F_BRANCH_ID, MOBILEPHONE, TELEPHONE, EMAIL, LICENSECODE,

    ADDRESS, POSTCODE, GENDER, F_CUSTOMER_ID, ISCORE, ACTIVETIME, EXPIRETIME, IP)


    values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '1@163.com', '', 'address', '', 'M', 163, null, to_date('11-04-2013',

    'dd-mm-yyyy'), to_date('19-04-2013', 'dd-mm-yyyy'), '192.168.0.0');

    想要将类似to_date('19-04-2013', 'dd-mm-yyyy')的内容替换为null。



    使用fileinput模块进行原地修改文件:


    import re,fileinput
    
    p ='to_date(.*?)'
    
    for i in fileinput.input([r'D:userinfo.txt',],inplace=1): #标识原地操作,则print的内容会输出到原文件中
    
        if re.search(p,i):
         
            t = re.findall(p,i) # 找到匹配的字符串列表(每个行可能有多个满足条件的字符串)
            
            for v in t:
                i=i.replace(v,'null')
    
        print fileinput.lineno(),'>',i # fileinput.lineno()输出行号
    
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Mac-安装Git以及Git的配置
    Mac 安装Maven,并设置环境变量
    Mac Tab自动补全键
    Eclipse 代码快捷键模板(一)
    网易博客迁移(2011-05-27)
    前端JS插件整理
    Ajax请求二进制流并在页面展示
    IDE中使用System.getProperty()获取一些属性
    Spring Boot:快速入门(二)
    c 语言 指针 与地址
  • 原文地址:https://www.cnblogs.com/think1988/p/4628097.html
Copyright © 2011-2022 走看看