菜鸟的递归查找文件python实现,菜鸟递归python,做为一个python学习


做为一个python学习的菜鸟,老师说不停的写代码是最好的学习方式。这次我写的是递归查找文件python实现:具体实现方法如下
1、首先,输入要查找的特定目标文件扩展名,来遍历查找特定扩展名的文件。这里是:eg:python find_file.py txt;
2.之后通过-f来指定将结果写入到特定名称的文件:eg:python -f txt_result txt,否则将结果打印在控制台;
3最后,要在指定要查找的特定扩展名文件后,找到指定查找的根目录:eg:python find_file.py txt /;

python菜鸟新手写的代码,如果有不妥之处,还请高手指正。

菜鸟的递归查找文件python实现

#!/usr/bin/python#-*-coding:utf8-*-import sysimport osimport argparseimport pdbfrom pprint import pprintdef find_path_file(specific_file,search_directory):    """    result_path_filename    """    result_path_filename = list()    result_path_filename.extend([os.path.join(dirpath,filename) for dirpath,dirnames,filenames in os.walk(search_directory) for filename in filenames if os.path.splitext(filename)[1] == ('.' + specific_file)])    pprint(result_path_filename)def find_file(specific_file,search_directory):    """    result_filename don't have path    """    result_filename = list()    os.path.walk(search_directory,lambda arg,dirname,names:result_filename.extend([i for i in names if os.path.splitext(i)[1] == ('.' + specific_file)]),())    pprint(result_filename)def save_result_to_file(_filename,specific_file,search_directory):    """    save result to specific file    """    result_path_filename = list()    result_path_filename.extend([os.path.join(dirpath,filename) for dirpath,dirnames,filenames in os.walk(search_directory) for filename in filenames if os.path.splitext(filename)[1] == ('.' + specific_file)])    with open(_filename,'w') as f:        f.write("\n".join(result_path_filename))#www.iplaypy.comif __name__ == "__main__":    par4534ser = argparse.ArgumentParser()    parser.add_argument("file_suffix",help="specific the file suffix")    parser.add_argument("rootdir",help="specific the root directory")    parser.add_argument("-f","--file",help="record result to file")    args = parser.parse_args()    specific_file = args.file_suffix    search_directory = args.rootdir    if args.file:        filename = args.file        save_result_to_file(filename,specific_file,search_directory)    else:#        find_file(specific_file,search_directory)        find_path_file(specific_file,search_directory)

python递归其它相关文章推荐:
1、Python无限递归的概念教程
2、Python指定目录递归遍历源码

编橙之家文章,

评论关闭