#! /usr/bin/env python3

# -*- coding: utf-8 -*-

#编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径

#将本文件放到该目录下,才可使用

import os

class SearchClass(object):

def __init__(self):

self.path=''  #相对路径

self.absPath = os.path.abspath('.') #绝对路径

'''

功能:搜索当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件

参数abspath:查找文件的绝对路径

参数father_path:当前操作目录的父目录

思路:利用os.listdir()列出目录和文件L(这里要注意,调用该函数前,需要用os.chdir()工作目录切换到要操作的目录);

然后先输出符合要求的文件;

然后遍历L,找出目录,调用本函数,形成递归调用(要注意工作目录的切换,否则会出错)

'''

def Search(self,abspath = '.',father_path = ''):

os.chdir(abspath) #切换工作目录到abspath指定目录,也就是当前工作目录

L = os.listdir('.') #列出本目录下的文件和文件夹

#print(L)

for v in L:

if os.path.isfile(v) and 'file' in v:  #将本目录下的符合条件文件输出

print('%s%s%s' % (self.path,os.sep,v))

for m in L:

#os.chdir(self.absPath)

if os.path.isdir(m):                   #如果是目录

tmp_path = self.path

self.path = os.path.join(self.path,m) #更新path

self.absPath = os.path.join(self.absPath,m) #更新absPath

#print(self.absPath)

self.Search(self.absPath,tmp_path)         #递归调用

os.chdir(abspath) #因为在Search里面会切换目录所以要切换回来

self.absPath = os.path.abspath('..') #在这里要将absPath和path置为当前目录的父目录

self.path = father_path

os.chdir(self.absPath) #切换到上一层目录

#print(self.absPath)

#test

f=SearchClass()

f.Search()

python读取文件名包含某字符的文件_Python 在当前和子目录中查找文件名中包含指定字符串的文件...相关推荐

  1. python 当前路径 搜索路径图某一个不包含_python编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径...

    解决思路 对于像我这种刚开始入门计算机的人,解决问题最关键的是思路的学习,很多时候代码,一看就懂,一写就废. 像这个题目,我们可以用程序的思维,一步一步去解决,将问题细分,细分成你能够解决的问题然后再 ...

  2. python遍历文件夹下所有文件名中含有指定_Python 遍历目录找出包含指定字符串的文件夹...

    题目:编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径 题目不难,但是初接触Python,对函数不够熟悉,犯了不少错误.总结如下: os.path. ...

  3. python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

    廖雪峰python教程中的<操作文件和目录>下的第二题目的解答, 网址为: http://www.liaoxuefeng.com/wiki/0014316089557264a6b34895 ...

  4. linux命令 查找包含指定字符串的文件

    1.非递归搜索包含指定字符串的文件 grep 查找在当前目录下,包含mirrors.aliyuncs.com字符串的文件 grep mirrors.aliyuncs.com ./* 查找结果: 2.递 ...

  5. linux循环目录下目录,Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件...

    一.循环列出目录下所有文件 #!/bin/bash function frfile() { local basefolder=$1 echo $basefolder #local filename f ...

  6. 如何在JavaScript / jQuery中查找数组是否包含特定字符串? [重复]

    本文翻译自:How to find if an array contains a specific string in JavaScript/jQuery? [duplicate] This ques ...

  7. python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...

  8. python读取配置文件获取所有键值对_python笔记14-读取yaml配置文件(pyyaml)

    yaml简介 1.yaml [ˈjæməl]: Yet Another Markup Language :另一种标记语言.yaml 是专门用来写配置文件的语言,非常简洁和强大,之前用ini也能写配置文 ...

  9. python语言命名规定首字符不能是_python标识符命名规范原理解析

    这篇文章主要介绍了python标识符命名规范原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简单地理解,标识符就是一个名字,就好像我们每个人 ...

  10. python读取配置文件获取所有键值对_python读取配置文件 变量 ConfigParser模块

    Python 读取写入配置文件很方便,可使用内置的 configparser 模块 配置文件:config.ini [oppo] platformName = Android platformVers ...

最新文章

  1. SpringBoot-web开发(三): 模板引擎Thymeleaf
  2. 手机可以阅读html吗,手机文档html能删除吗
  3. PHP严重致命错误处理:php Fatal error: Cannot redeclare clas
  4. python基础实例-Python 练习实例14
  5. MariaDB10和MySQL5.6社区版压力测试
  6. linux crontab 管理,linux crontab 命令详解
  7. vue php axios 跨域,在vue项目中,使用axios跨域处理
  8. shiro的内部体系结构
  9. 文件操作-小文件复制
  10. 代码review工具:Review Board
  11. seo清洗百万长尾词数据的策略
  12. sierpinski三角形的维数_遥感图象分形维数的几种估计算法研究
  13. Excel合并多个文件
  14. 创意几何点线面三角形孟菲斯海报banneer广告设计ai矢量背景素材
  15. 分享 | 带来全新交互体验的『支付宝AR』技术大解密
  16. 领导合影站位图_领导出席各类活动席位安排(详细附图)
  17. 【LLC原理与设计】仙童半导体 LLC原理与设计
  18. CleanMyMacX.dmg4.11版最新Mac电脑智能清理软件
  19. python-外部程序的调用os库、subprocess 模块
  20. 车载触摸显示屏的工作原理

热门文章

  1. [4G5G专题-38]:物理层- LTE/NR下行公共控制信道PDCCH与其承载的内容下行控制信息格式DCI
  2. 电子元器件识别(图解)
  3. Win10如何取消开机密码?Win10取消开机密码步骤
  4. 计算机mc代表什么意思6,我的世界:萌新无法理解的6个老梗,唯老MC才懂!你能看懂几个?...
  5. iOS APP审核注意事项
  6. 技术干货|如何在微服务架构下构建高效的运维管理平台?
  7. Python游戏开发,pygame模块,Python实现记忆翻牌小游戏
  8. ThinkPHP 模板变量输出
  9. 关于微信异常烦人自动生成的聊天记录截图视频
  10. OpenERP 模块动态加载原理及启动代码分析