python基础:匹配指定目录下符合规则的文件,打印文件全路径

# -*- coding:utf-8 -*-
#遍历目录树
import os,fnmatch

def all_files(root, patterns=‘*‘, single_level=False, yield_folder=False):
# 将模式从字符串中取出放入列表中
patterns = patterns.split(‘;‘)
for path, subdirs, files in os.walk(root):
if yield_folder:
files.extend(subdirs)
files.sort()
for fname in files:
for pt in patterns:
if fnmatch.fnmatch(fname, pt):
yield os.path.join(path, fname)
break
if single_level:
break
# fnmatch 来检查文件名匹配模式
# os.path fnmatch os.walk 生成器
thefile=list(all_files(‘E:/projects/test-log4j‘, ‘*.class;*.java;*.properties;*.xml‘))
for item in thefile:
print item


上面选了一个java的idea下的test-log4j应用目录,打印其下面所有的java、class、properties、xml文件全路径。

E:\projects\py>python traverse.py

E:/projects/test-log4j\pom.xml
E:/projects/test-log4j.idea\compiler.xml
E:/projects/test-log4j.idea\misc.xml
E:/projects/test-log4j.idea\modules.xml
E:/projects/test-log4j.idea\workspace.xml
E:/projects/test-log4j.idea\copyright\profiles_settings.xml
E:/projects/test-log4j.idea\libraries\Maven__log4j_log4j_1_2_17.xml
E:/projects/test-log4j.idea\markdown-navigator\profiles_settings.xml
E:/projects/test-log4j\src\main\java\Main.java
E:/projects/test-log4j\src\main\resources\log4j.properties
E:/projects/test-log4j\src\main\resources\log4j.xml
E:/projects/test-log4j\target\classes\Main.class
E:/projects/test-log4j\target\classes\log4j.properties
E:/projects/test-log4j\target\classes\log4j.xml

原文地址:http://blog.51cto.com/coffee/2095033

时间: 2024-10-14 06:01:23

python基础:匹配指定目录下符合规则的文件,打印文件全路径的相关文章

用python查找在指定目录下特定文件夹下的指定文件

本代码是在python2.*上边所写. 功能:在指定目录下查找特定文件夹下的特定文件. 实例:查找在packages目录下文件夹名为values下的strings.xml文件 #!/usr/bin/env python import os def walk_dir(path): filter_file_name = 'strings.xml' for root, dirs, files in os.walk(path): for dir_item in dirs: if dir_item ==

Java版本的删除指定目录下名叫“xxx.txt”文件名的文件

以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也就没有继续深究,就把这个bug给放过了. 最近一段时间在学习android,肯定要用的java了,就用java实现了下,思路的话,肯定还是以前的了,结果还是出错,后来仔细的看了看代码,其实是自己的bug. 把代码贴下:(主要功能,删除指定目录下名叫"pylist.txt"的所有文件,使用递

python之查询指定目录下的最新文件

使用os模块查询指定目录下的最新文件 1 import os 2 3 # 输入目录路径,输出最新文件完整路径 4 def find_new_file(dir): 5 '''查找目录下最新的文件''' 6 file_lists = os.listdir(dir) 7 file_lists.sort(key=lambda fn: os.path.getmtime(dir + "\\" + fn) 8 if not os.path.isdir(dir + "\\" + f

python中获取指定目录下所有文件名列表的程序

http://blog.csdn.net/rumswell/article/details/9818001 # -*- coding: utf-8 -*-#~ #----------------------------------------------------------------------#~ module:wlab#~ Filename:wgetfilelist.py#~ Function :#~ def IsSubString(SubStrList,Str)#~ def GetF

python——查询linux指定目录下所有的空目录

1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 #*******查询指定目录中的空目录********* 4 #执行方法:python3 04-1.py + 目录名称 5 # a/b/c/f 6 # a/b/f 7 # a/b/r/1.txt 8 # python3 1.py a 9 # --> a/b/c/f 10 # a/b/f 11 import sys 12 import os, os.path 13 14 def find(p)

qt获取指定目录下符合条件的文件路径

1)设置名称过滤器 QDir * dir = new QDir(路径); QStringList filter; Filter << QStringLiteral(“筛选的文件条件,如.xls...”); dir->setNameFilters(filter); 2)获取指定条件的条目 QList<QFileInfo> *fileInfo = new QList<QFileInfo>(dir->entryInfoList(filter)); for(size

一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 @for&ever 2010-07-03 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件中 脚本如下: #!/usr/bin/env python# -*- coding: utf-8 -*- '''Created on 2010-7-2 @author: fore

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

删除指定目录下的指定后缀的文件

1 import java.io.*; 2 import javax.swing.*; 3 public class Delete{ 4 public static void main(String[] args)throws Exception{ 5 String target = JOptionPane.showInputDialog(null,"请输入您要清理垃圾的目录:"); 6 File[] fs = new File(target).listFiles(new Filena