递归查找某个目录下是否存在NOTICE文件
从Catalogs.txt文件中,读取待检查的目录列表。检查这些目录中,是否存在NOTICE文件,如果没有则检查它的父目录,直到cd ..到Repository目录。
如果cd ..到Repository目录后,仍没有找到NOTICE文件,则说明这个目录中缺失了NOTICE文件,将这个目录打印出来,并存到result.txt文件中。
- # -*- coding: utf-8 -*-
- import os
- #从NOTICE获取待检查的目录列表
- def getCatalogs(file):
- files = open(file,'r')
- lines = files.readlines()
- return lines
- #检查单个目录及其父目录是否存在NOTICE文件
- def scandir(initdir, checkName,stopName ):
- dir = initdir + '/' + checkName
- flag = os.path.exists(dir)
- finalFlag = False
- if flag :
- return True
- dir = os.path.dirname(initdir)
- if stopName in str(dir):
- finalFlag = scandir(dir, checkName,stopName )
- return finalFlag
- def isExist(file, checkName, stopName):
- catalogs = getCatalogs(file)
- notContainCheckName= []
- for line in catalogs:
- line = line.strip()
- line = line.strip('\n')
- flag = scandir(line, checkName, stopName )
- if(not flag):
- notContainCheckName.append(line)
- # 打印缺少NOTICE文件的目录
- for line in notContainCheckName:
- file = open('result.txt','a+')
- file.write(line + '\n')
- print(line)
- if __name__ == '__main__':
- #Catalogs.txt:目录列表 NOTICE:待检查的文件 Repository:终止目录
- isExist('Catalogs.txt', 'NOTICE', 'Repository')
递归查找某个目录下是否存在NOTICE文件的更多相关文章
- php递归查找指定目录下及子文件名称是否包含中文空格及括号
//php递归查找该目录下及子文件名称是否包含中文空格括号 function searchDir($path,&$data){ if(is_dir($path)){ $dp=dir($path ...
- C++查找指定目录下所以指定类型的文件
/*************************************************************** 函数名称:FindFile 查找指定目录下指定文件 输入:fileNa ...
- 运维笔记--Linux查找指定目录下某段时间的文件
查找指定目录下,60天之前的文件:find /mnt/xml_data -mtime +60 -name "*.xml" 找到并统计数量:find /mnt/xml_data -m ...
- [bash]查找指定目录下符合格式的txt文件
需求: 查找指定目录下符合yyyy-MM-dd(-b)NNN.txt格式的文件,如“2020-03-22-b888.txt” 目标目录内容: [root@localhost bashs]# ll /r ...
- python_自动查找指定目录下的文件或目录的方法
代码如下 import os def find_file(search_path, file_type="file", filename=None, file_startswith ...
- linux 批量替换文件内容及查找某目录下所有包含某字符串的文件
转载请注明来源:https://www.cnblogs.com/hookjc/ 1. sed C代码 grep -rl matchstring somedir/ | xargs sed -i 's ...
- php源码之遍历目录下的所有的文件
<?php //遍历目录下的所有的文件 -- 递归调用 // http://www.manongjc.com/article/1495.html function get_all_file1($ ...
- 我的Android进阶之旅------>Android使用正则表达式匹配扫描指定目录下的所有媒体文件(音乐、图像、视频文件)
今天使用正则表达式匹配指定目录下的所有媒体文件,下面将这份代码简化了,可以收藏下来,当作工具类. package match; import java.io.File; import java.uti ...
- C#查找指定路径下的所有指定文件,并读取
string path="指定路径"; string filename =“需要查找的文件名.csv"; List<string> lineStringLis ...
随机推荐
- CodeForces 352C. Jeff and Rounding(贪心)
C. Jeff and Rounding time limit per test: 1 second memory limit per test: 256 megabytes input: stan ...
- log4j输出信息到mongodb
官网 http://log4mongo.org/display/PUB/Log4mongo+for+Java 保存主机信息,方法等 http://my.oschina.net/chi ...
- 网络爬虫之Windows环境Heritrix3.0配置指南
一.引言: 最近在忙某个商业银行的项目,需要引入外部互联网数据作为参考,作为技术选型阶段的工作,之前已经确定了中文分词工具,下一个话题就是网络爬虫的选择,目标很明确,需要下载一些财经网站的新闻信息,然 ...
- 在C#中我们能调用一个类的私有方法吗
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中我们能调用一个类的私有方法吗.
- 如何给Windows添加自动启动的程序
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何给Windows添加自动启动的程序.
- 浅谈 Underscore.js 中 _.throttle 和 _.debounce 的差异
Underscore.js是一个很精干的库,压缩后只有5.2KB.它提供了几十种函数式编程的方法,弥补了标准库的不足,大大方便了JavaScript的编程. 本文仅探讨Underscore.js的两个 ...
- 高亮选中MEMO某一行
选中第5行 //转到指定行并选中这行的文本 procedure SelectLine(Memo1: TMemo; ln: Integer); begin Memo1.SelStart := SendM ...
- android开发入门经验 ADT Bundle环境搭建
现在有许多做开发的转做移动端开发,做J2EE的转做Android开发,我也把自己的一些入门经验与大家分享一下,希望能给你带来帮助. 工具/原料 JDK,ADT,JAVA 方法/步骤 开发工具的准备 ...
- Xcode 4-PBXcp error修复-No such file or directory
Xcode 4-PBXcp error修复-No such file or directory (2013-05-02 15:20:50) 转载▼ 标签: apple iphone ios 移动开发 ...
- DHCPv6 server port and DHCPv6 client port
The DHCPv6 draft says that, the port numbers for client and agents are given as 546 & 547 在wires ...