Python開發搜索文件腳本
阿新 • • 發佈:2018-04-27
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])
執行效果展示
Python開發搜索文件腳本