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()输出行号
    
    

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

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    35. Search Insert Position
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    111. Minimum Depth of Binary Tree
    169. Majority Element
    171. Excel Sheet Column Number
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/think1988/p/4628097.html
Copyright © 2011-2022 走看看