zoukankan      html  css  js  c++  java
  • python中re.findall()找到的结果替换

    正则表达式re模块中用findall查找到的是ascii码,所以当比对替换时也需要对应的ascii码才能匹配成功。以下程序是查找文件夹下文件名中含有男、女的文件,并将男替换成1,将女替换成2的程序

    # -*- coding: utf-8 -*-
    
    import fnmatch
    import os
    import codecs
    import re
    import sys
    
    def iterfindfiles(path, fnexp):
        for root, dirs, files in os.walk(path):
            for filename in fnmatch.filter(files, fnexp):
                yield os.path.join(root, filename)
    
    def fiterFiles():
        
        path=raw_input("input dir:")
        filterfiletype=raw_input("input file filter type:")
    
        #quanjiao_2_banjiao(path)
    
        for filename in iterfindfiles(path,filterfiletype):
            SingerList=re.findall('((..?)).dat',filename)
            for SingerName in SingerList:
                if(SingerName=='xc4xd0'):
                    SingerName='1'
                    new_filename=re.sub('((..?)).dat','(1).dat',filename)
                    print new_filename
                    os.rename(filename,new_filename)
                    #print SingerName
                elif(SingerName=='xc5xae'):
                    SingerName='2'
                    new_filename=re.sub('((..?)).dat','(2).dat',filename)
                    print new_filename
                    os.rename(filename,new_filename)
    
    def main():
        fiterFiles()
    
    
    if __name__ == "__main__":
        main()
    

      

    也许青春就是这样,有希望,却依然迷茫得不知所措。。。
  • 相关阅读:
    jmap使用
    Spring boot后台搭建一使用MyBatis集成Mapper和PageHelper
    aspose.slides for java去除水印
    win10 解决Failed installing 'Tomcat8' service
    NoSQL数据库
    windows下Java调用可执行文件
    Neo4j CQL基本使用
    初识Neo4j
    (原)下载pubFig的python代码
    (原+译)win7远程连接ubuntu16.04
  • 原文地址:https://www.cnblogs.com/dannyoung/p/4518250.html
Copyright © 2011-2022 走看看