python递归遍历文件夹检查文件

python递归遍历文件夹检查缺少DEBUG_NEW的CPP文件

3x版本的python使用print需要用括号打印字符串,如print(file_name)


import os

check_path = 'F:\\some_dir'
debug_str = '#define new DEBUG_NEW'
report_log = 'report_debug_new_check.log'
check_ext = '.cpp'
report_list = []

def check_file(fp):
    if check_ext not in fp:
        return
    f = open(fp, 'r')
    try:
        all_text = f.read()
        if debug_str not in all_text:
            print fp
            report_list.append(fp + '\n')
    finally:
        f.close()

def walk_dir(dirname):
    try:
        sub_items = os.listdir(dirname)
    except:
        print 'Access denied:', dirname
    else:
        for item in sub_items:
            full_path = os.path.join(dirname, item)
            if os.path.isdir(full_path):
                walk_dir(full_path)
            else:
                check_file(full_path)

 
if __name__ == "__main__":
    if os.path.isdir(check_path):
        check_path += '\\'
    walk_dir(check_path)
    log_file = open(os.path.join(check_path, report_log), 'w')
    try:
        log_file.writelines(report_list)
    finally:
        log_file.close()



你可能感兴趣的:(python,杂乱笔记)