Match files that match pattern in Groovy and Python

转自: http://atobs.blogspot.fr/2012/08/match-only-files-that-match-pattern-in.html#!/2012/08/match-only-files-that-match-pattern-in.html

Groovy:
In Groovy we can use the eachDirRecurse and eachFileMatch() methods to get all the file names displayed.

def pattern = ~/.*\.java/
def dirname="/usr/local/mysource"

new File("$dirname").eachDirRecurse { dir ->

dir.eachFileMatch(pattern) {    myfile ->
                println  "$myfile"
        } // eachFileMatch

} // eachFileMatch

Python:
In Python,  we can list each matching file using "glob"

import os, glob, sys

for root, dirs, files in os.walk( ‘E:\\users‘ ):
    os.chdir (root)

# find all files that match log*
    logs = glob.glob( ‘*log*‘ )
    if logs:
        for fname in logs:
            fullpath = os.path.join ( root, fname )
            # Identify files of len 3 lines long and delete them
            count  = len ( open(fullpath).readlines() )
            if count == 3 or count == 2:
                print  ‘Removing ‘, fullpath
os.remove ( fullpath )

时间: 2024-10-03 05:47:59

Match files that match pattern in Groovy and Python的相关文章

Groovy 与 Python 的差异【翻译】

本文内容 General 一般 Lists 列表 Maps 映射 Ranges/Slices 范围/片段 Object access 对象访问 参考资料 Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python.Ruby 和 Smalltalk 的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码.由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库. General Python Groovy repr(x)

LPC43xx SGPIO Pattern Match Mode

模式匹配 所有位串均具有模式匹配功能. 该功能可用于检测启动代码等.要使用该功能,则必须用需匹配的模式来对REG_SS 编程 (请注意, POS 达到零时 REG_SS 不会与 REG  交换!) MATCH_MODE 位必须设为1. 输入数据 REG 现在与已编程的模式 REG_SS 相比较.发现匹配时会提出模式匹配中断. Bit MATCH_MODE selects whether the match filter is active or whether data is captured.

【LABVIEW到C#】3》String的操作之Match Pattern Funtion.vi

C#实现如下 using System; using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; namespace DEMO { class Darrenstring { public class Matchpattern:Darrenstring { private string text; private string pattern; private int in

正则表达式中pattern.match(),re.match(),pattern.search(),re.search()方法的使用和区别

正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串. 将匹配的子串替换或者从某个串中取出符合某个条件的子串,或者是在指定的文章中抓取特定的字符串等.Python处理正则表达式的模块是re模块,它是Python语言中拥有全部的正则表达式功能的模块.正则表达式由一些普通字符和一些元字符组成.普通字符包括大小写的字母.数字和打印符号,而元字符是具有特殊含义 正则表达式大致的匹配过程是: 拿正则表达式依次和字符串或者文本

Python中re.match与re.search的使用方法详解

本文和大家分享的主要是python正则表达式中re.match函数与re.search方法的相关用法及异同点,希望通过本文的分享,能对大家有所帮助. re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none. 函数语法: re.match(pattern, string, flags=0) 函数参数说明: 参数描述 pattern匹配的正则表达式 string要匹配的字符串. flags标志位,用于控制正则表达式的匹配

python的re模块理解(re.compile、re.match、re.search)

import rehelp(re.compile)'''输出结果为:Help on function compile in module re: compile(pattern, flags=0) Compile a regular expression pattern, returning a pattern object.通过help可知:编译一个正则表达式模式,返回一个模式对象.''' '''第二个参数flags是匹配模式,可以使用按位或'|'表示同时生效,也可以在正则表达式字符串中指定.

python RE的match()和group()疑问

python RE的match()和group()疑问 >> m = re.match(r"(..)+", "a1b2c3")  # Matches 3 times. >> m.group(1)               # Returns only the last match. 'c3' >> m.group(0) 'a1b2c3' >> m.groups() ('c3',) 注意到pattern中的+,应该是匹

python(23)re函数:compile、match、search、findall

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 参数说明: 函数参数说明: 参数 描述 pa

.net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)

正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpressions.Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的正则表达式.它还包含各种静态方法,允许在不显式创建其他类的实例的情况下使用其他正则表达式类. 正则表达式的字符代表的说明: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN