#! /usr/bin/env python

from __future__ import print_function

import os
import sys

def check(filepath):
    # 检查给定路径的文件
    if filepath.endswith(".py"):  # 检查文件扩展名是否为 .py
        content = open(filepath, "rb").read()  # 以二进制模式打开文件并读取全部内容
        pattern = "\n\n\n".encode("ascii")  # 定义一个二进制模式的换行符序列，表示三个换行符

        # 检查内容中是否包含三个连续的换行符
        if pattern in content:
            index = content.find(pattern)  # 找到模式在内容中的第一个出现位置
            # 打印文件路径和模式前后各 30 个字节的内容
            print(filepath, repr(content[index - 30:index + 30]))

if __name__ == "__main__":
    try:
        BASE_DIRECTORY = sys.argv[1]  # 尝试获取命令行中指定的目录路径
    except IndexError:  # 如果没有指定目录参数
        print("no directory specified, defaulting to current working directory")
        BASE_DIRECTORY = os.getcwd()  # 使用当前工作目录作为默认目录

    print("looking for *.py scripts in subdirectories of '%s'" % BASE_DIRECTORY)
    # 遍历指定目录及其子目录中的所有文件
    for root, dirs, files in os.walk(BASE_DIRECTORY):
        # 如果路径中包含 "extra" 或 "thirdparty"，则跳过该目录
        if any(_ in root for _ in ("extra", "thirdparty")):
            continue
        for name in files:  # 遍历文件列表
            filepath = os.path.join(root, name)  # 构建文件的完整路径
            check(filepath)  # 调用 check 函数检查该文件