#! /usr/bin/python #! -*- encoding:utf-8 -*- ''' #author:wasua #date:2019/04/08 # ''' ''' 找输入目录下面的包含输入字符的特定文件 输入: 目录 查找字符 文件种类(后缀名) ''' import os from sys import argv file_list=[] def find_file(parent_dir,file_dir_name): file_dir_abspath=os.path.join(parent_dir,file_dir_name) if os.path.isdir(file_dir_abspath): #传入目录为文件 for f in os.listdir(file_dir_abspath): find_file(file_dir_abspath,f) else: if file_dir_abspath.endswith(file_type): #传入目录为文件且特定结尾 if read_and_find_character(file_dir_abspath): #读取该特定文件,并查看是否包含特定字符 file_list.append(file_dir_abspath) def read_and_find_character(f): flag=False with open(f) as fd: while True: line=fd.readline() if line=='': break elif character in line: flag=True break return flag parent_dir=argv[1][:argv[1].rfind('/')+1] file_dir_name=argv[1][argv[1].rfind('/')+1:] character=argv[2] file_type=argv[3] find_file(parent_dir,file_dir_name) print(file_list)