利用python os模块搜索指定目录下包含指定字符的文件

Python内置的os模块也可以直接调用操作系统提供的接口函数。

os.listdir()可以列出给定目录下的文件和下级目录

os.path.isfile()方法可以验证该文件是否真的存在,注意这里需要完整路径或者相对当前目录下的相对路径.

import os
def find(dir,name):
    #print(dir)
    for i in [x for x in os.listdir(dir) if os.path.isfile(os.path.join(dir,x)) and name in os.path.splitext(x)[0]]:
        print(os.path.join(dir,i))
    for i in [x for x in os.listdir(dir) if os.path.isdir(os.path.join(dir,x))]:   #os.path.isfile() 需要完整路径或者相对当前目录的相对路径
        if os.listdir(os.path.join(dir,i))!=[]:
            try:      #防止因为权限问题报错
                find(os.path.join(dir,i),name)
            except:
                pass

find(‘/home/naner‘,‘mi‘)

原文地址:https://www.cnblogs.com/slarker/p/9810194.html

时间: 2024-09-28 07:26:43

利用python os模块搜索指定目录下包含指定字符的文件的相关文章

查询目录下包含特定字符的文件

sudo find /home/q/www/*/conf/server.xml|xargs sudo grep -ri "7777" –l 参考: http://man.linuxde.net/

复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!

package cn.idcast2; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; im

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

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

【C#】递归搜索指定目录下的指定项目(文件或目录)

先别急着喷,请听我解释. 诚然可以使用现成的Directory类下的GetFiles.GetDirectories.GetFileSystemEntries这几个方法实现同样的功能,但请相信我不是蛋疼,原因是这几个方法在遇上[System Volume Information]这种目录时,极有可能会给你个拒绝访问的异常,想跳过都不行.所以没办法,重新实现了一下. 实现说明: - 仍然是基于对Directory类的几个方法的封装进行实现,只是没有使用它们的searchPattern和searchO

JAVA输出指定目录下的子目录和子文件

题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数组 循环遍历输出这个数组元素 输出名称之后,接着判断这个元素是文件还是目录 如果是目录,继续调用本方法来输出子目录 代码如下: /** * 输出指定目录下的所有子目录和子文件 * * @author DXY * */ public class HelloFile { public static vo

python删除指定目录下的指定文件和文件夹

具体代码: #coding:utf-8import os,sys,platformclass RemoveTagFile(object): path=None def removeFile(self,path,remove_list,retain_list): #path后面要跟/ self.path=path system_test=platform.system() if(system_test=='Windows'): path_last=self.path[-1] if(path_las

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

1 package org.zln.module1.demo1; 2 3 import org.apache.log4j.Logger; 4 5 import java.io.File; 6 7 /** 8 * 删除指定根目录下,及其子目录中,指定后缀的文件 9 * Created by coolkid on 2015/6/13 0013. 10 */ 11 12 public class DeleteSuffix { 13 /*默认待删除文件后缀*/ 14 private static fin

【复制指定目录下的指定类型文件,并修改后缀名】

package com.companyname.common.test; import java.io.*; /** * @Description * @Author Created by shusheng. * @Email [email protected] * @Date 2018/12/2 */ public class CopyFolderDemo { public static void main(String[] args) throws IOException { // 封装目录

linux 查询目录下包含关键字的所有文件

linux查找目录下的所有文件中是否含有某个字符串 查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xargs grep -ri "IBM" -l 1.正则表达式    (1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/.*.?等)组成.   (2)基本元字符集及其含义       ^