Python开发搜索文件脚本

#!/usr/bin/env python
#coding:utf-8

import os, sys

#判断位置参数
argv_num = len(sys.argv)
if argv_num != 3:
print ("请至少输入2位参数:")
print ("########################################")
print ("EXample: python %s \033[1;31mfilename file_path\033[0m" % sys.argv[0])
print ("########################################")
exit()

def search(root_dir, searc):

try:

#获取搜索路径的整个列表目录及文件名
for (abs_path, dirs, files) in os.walk(root_dir):
for filename in files:
if searc in filename:

#搜索文件名的索引位置变量
searc_changdu = len(searc)
find_qian_num = filename.find(searc)
find_zongchang_num = searc_changdu + find_qian_num

#列表分片前段高亮显示变量
qian_1 = filename[:searc_changdu]
hou_1 = filename[searc_changdu:]

#列表分片中段高亮显示变量
qian_2 = filename[:find_qian_num]
hou_2 = filename[find_qian_num:find_zongchang_num]

#列表分片后段高亮显示变量
zhong = filename[find_qian_num:find_zongchang_num]
hou_3 = filename[find_zongchang_num:]

#绝对路径及文件名高亮输出
if find_qian_num == 0:
print ("%s/\033[1;31m%s\033[0m%s" % (abs_path,qian_1,hou_1))
elif find_zongchang_num == len(filename):
print ("%s/%s\033[1;31m%s\033[0m" % (abs_path,qian_2,hou_2))
else:
print ("%s/%s\033[1;31m%s\033[0m%s" % (abs_path,qian_2,zhong,hou_3))

#用户中断执行(通常是输入^C)
except KeyboardInterrupt, e:
print ("中断执行")

search(sys.argv[2], sys.argv[1])

执行效果展示

原文地址:http://blog.51cto.com/yht1990/2108640

时间: 2024-11-12 18:42:31

Python开发搜索文件脚本的相关文章

Python下搜索文件

一个搜索文件的程序,可以选择搜索文件还是目录:也可以选择搜索模式,如果严格模式开启,只能匹配与搜索字相等的文件或者目录,如果不开启,只要一个文件或者目录存在关键词即匹配. 1 #!/usr/bin/python 2 3 import os 4 5 class SearchEngine(): 6 def __init__(self,path): 7 self.path=path 8 9 def search(self,word,Type='file',strict=False): 10 "&quo

python逐行读取文件脚本

逐行读取的方法很多,这里提供一种非常简单的方法: #!/usr/bin/python # -*- coding: utf-8 -*- for line in open("awip.conf"): print line 其他的可以参考教程:python逐行读取文件内容的三种方法Python--文件读取 原文地址:http://blog.51cto.com/weiruoyu/2140927

python实时处理log文件脚本

这个Python脚本是用来对实时文件的内容监控,比如 Error 或者 time out 字段都可以进行自定义:算是我的第一个真正的Python脚本,自己感觉还是比较臃肿,不过打算放到blog上记录一下(还是初学者,大神们勿喷哈),真心希望博友们能够再指点一下(现在记录每次的文件大小值是输出到了一个文件中,并且里面还嵌套了有shell命令,这些我认为都是可以优化掉的吧,只是现在我还不知道怎么做):告警是基于zabbix,自定义的模板是120s执行一次 #!/usr/local/bin/pytho

python批量修改文件脚本

最近准备把<ThingingInJava>敲一遍(人比较笨,只能用这种简单粗暴的方法了,哈哈) 必须要把net.mindview包导入 导入过程参考这篇博客:http://blog.sina.com.cn/s/blog_631a75580100vcig.html 中间由于要把所有文件中的com.mindview删掉 就写了一个简陋的python脚本,批量删除 由于这是第一次为了自己方便写脚本(这可能也是脚本的意义),纪念一下 下面是代码: import re import os def han

python post传输文件脚本

ps:背景,无法ssh相互访问机器(一般中间有堡垒机阻拦)的情况下,但是使用域名可以进行访问的情况下 可以使用http协议进行文件的上传. 服务器端代码(接受post的一端) #coding=utf-8 from BaseHTTPServer import BaseHTTPRequestHandler import cgi class   PostHandler(BaseHTTPRequestHandler):     def do_POST(self):         form = cgi.

python开发mongodb启动脚本

#!/usr/bin/env python #coding:utf-8 import os import sys def start(): os.system('/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf') def stop(): os.system('/usr/local/mongodb/bin/mongod --shutdown --dbpath /data/mongodb/db') def s

dive into python:模块的导入和搜索文件路径的配置

1.Python中导入模块:import sys:相当于Java中的导入包.类. 比如,我们导入sys模块,使用:import sys; 2.Python中调用函数的时候,会从默认配置的库文件夹中(sys.path)搜索你所调用的模块.这个库文件的目录配置,如下: sys.path用来配置Python模块搜索路径.它是一个List(列表),打印默认sys.path的内容: Python 3.3.5 (v3.3.5:62cf4e77f785, Mar  9 2014, 10:37:12) [MSC

Python搜索文件

这里以在windows下搜索并启动QQ为例,我先把开始菜单.桌面和快速启动栏找了一遍,这样能缩短查找时间.如果找不到再到每个分区中查找. import os disk=['D','E','F','G','H'] def search_file(filename,search_path,pathsep=os.pathsep): for path in search_path.split(pathsep): candidate = os.path.join(path,filename) if os.

python压缩文件脚本

zf.py文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 """ desc:读取配置文件config.ini压缩sourcepath路径到targetpath      并可以排除不需要压缩的文件excludefile time:2014/4/30 12:03:42 author:ggh """ import zipf