1. 程式人生 > >Python開發搜索文件腳本

Python開發搜索文件腳本

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開發搜索文件腳本