python 代码查找与打印

前言: 
   有时候接手大型项目,前同事文档不全或者没写文档,需要快速定位代码位置了解项目,或者自己写的项目过多,忘记存放在那个文件里了,可以直接用以下脚本:
    1.输入要查找目录路径。 
    2.输入查找的文件类型。(如下面type_file里是.py 结尾的py文件 )
    3.输入查找的关键词或代码。 
    4.输出.很快捷的方式输出相关查找到的文件。 


import os
import os
import traceback

files = []
dir = []
dir_res = []


def list_dir(start_dir, type_file='.py'): # 查找的文件类型
    dir_res = os.listdir(start_dir)
    for path in dir_res:
        temp_path = start_dir + '/' + path
        if os.path.isfile(temp_path) and type_file in temp_path:
            files.append(temp_path)
        if os.path.isdir(temp_path):
            dir.append(temp_path)
            list_dir(temp_path)


def cheak_file(file_path, text):
    with open(file_path, 'r', encoding='utf8') as f:
        datas = f.read().split('\n')
    for num, line in enumerate(datas):
        if text in line:
            try:
                print('    file:', file_path)
                # print('    line:', num, datas[num - 1])
                print('    line:', num + 1, line)
                # print('    line:', num + 2, datas[num + 2])
                print()
                print()
            except:
                pass


def read_files(files, text):
    for file in files:
        try:
            cheak_file(file, text)
        except Exception as e:
            print(traceback.format_exc(), flush=True)


if __name__ == '__main__':

    p = r'C:\Users\xxx\Desktop\Tplan-main' # 要查找目录路径


    text = 'add_api_route'                 # 查找的关键词或代码

    try:
        list_dir(p)
        print("file:", len(files))
        print("dir:", len(dir))
        # print("dir:", dir)
        read_files(files, text)
    except Exception as e:
        print(traceback.format_exc(), flush=True)

终端输出:

D:\Anaconda3\python.exe C:/Users/xxx/Desktop/python文件查找.py
start tasks
file: 140
dir: 171
    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/arq/index.py
    line: 92 router.add_api_route(methods=['GET'], path="/test", endpoint=test, summary="test")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/arq/index.py
    line: 93 router.add_api_route(methods=['GET'], path="/index", endpoint=index, summary="index")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/arq/index.py
    line: 94 router.add_api_route(methods=['GET'], path="/get_all_task", endpoint=get_all_task, summary="get_task_list")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/arq/index.py
    line: 95 router.add_api_route(methods=['GET'], path="/get_all_workers", endpoint=get_all_workers, summary="get_all_workers")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/arq/index.py
    line: 96 router.add_api_route(methods=['GET'], path="/get_all_result", endpoint=get_all_result, summary="get_all_result")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/data/xhs/xhs.py
    line: 86 router.add_api_route(methods=['GET'], path="/list", response_model=schemas.Response, endpoint=get_xhs,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/data/xhs/xhs.py
    line: 89 router.add_api_route(methods=['POST'], path="/xhs/create", response_model=schemas.Response, endpoint=create,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/data/xhs/xhs.py
    line: 92 router.add_api_route(methods=['PUT'], path="/xhs/update", response_model=schemas.Response, endpoint=update,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/data/xhs/xhs.py
    line: 95 router.add_api_route(methods=['DELETE'], path="/xhs/delete", response_model=schemas.Response, endpoint=delete,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/home/index.py
    line: 16 router.add_api_route(methods=['GET'], path="/",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 229 router.add_api_route(methods=['GET'], path="s",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 231 router.add_api_route(methods=['POST'], path="/create",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 233 router.add_api_route(methods=['PUT'], path="/update",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 235 router.add_api_route(methods=['DELETE'], path="/delete",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 237 router.add_api_route(methods=['POST'], path="/test",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 239 router.add_api_route(methods=['GET'], path="/detail",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 242 router.add_api_route(methods=['PUT'], path="/deploys",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 245 # router.add_api_route(methods=['PUT'], path="/uploadZip",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 247 # router.add_api_route(methods=['POST'], path="/get_rsa_private_key",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/host/view.py
    line: 249 # router.add_api_route(methods=['POST'], path="/change_rsa_verify",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/monitor/view.py
    line: 32 router.add_api_route(methods=['GET'], path="/redis", endpoint=redis_param, summary="redis 参数")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/monitor/view.py
    line: 33 router.add_api_route(methods=['GET'], path="/mongo", endpoint=mongo_param, summary="mongodb 参数")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/index.py
    line: 144 # router.add_api_route(methods=['GET'], path="/index", endpoint=index, summary="全局信息")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/index.py
    line: 145 # router.add_api_route(methods=['GET'], path="/status", endpoint=get_status, summary="状态信息")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/job.py
    line: 80 # router.add_api_route(methods=['GET'], path="s",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/job.py
    line: 83 # router.add_api_route(methods=['GET'], path="/result",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/job.py
    line: 86 # router.add_api_route(methods=['PUT'], path="/update",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/job.py
    line: 89 # # router.add_api_route(methods=['DELETE'], path="/delete",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/job.py
    line: 92 # router.add_api_route(methods=['POST'], path="/add",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/result.py
    line: 43 # router.add_api_route(methods=['GET'], path="s", endpoint=get_results, response_model=JobResultListOut, summary="所有结果集")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/result.py
    line: 44 # router.add_api_route(methods=['DELETE'], path="/delete", endpoint=delete_result, summary="删除结果")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/task.py
    line: 38 # router.add_api_route(methods=['GET'], path="s", endpoint=get_tasks, summary="获取 task 列表")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/worker.py
    line: 63 # router.add_api_route(methods=['GET'], path="s", endpoint=get_workers, summary="获取 worker 列表")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/worker.py
    line: 64 # router.add_api_route(methods=['GET'], path="/delete", endpoint=delete_worker, summary="删除 worker")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/worker.py
    line: 65 # router.add_api_route(methods=['GET'], path="/logs", endpoint=logs, summary="获取 worker 日志")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/rearq/worker.py
    line: 66 # router.add_api_route(methods=['GET'], path="/keys", endpoint=keys, summary="获取 worker keys")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/customized_tasks.py
    line: 104 router.add_api_route(methods=['GET'], path="/tasks",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/customized_tasks.py
    line: 106 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/customized_tasks.py
    line: 108 router.add_api_route(methods=['POST'], path="/task/run",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 222 router.add_api_route(methods=['GET'], path="/projects",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 224 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 226 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 228 router.add_api_route(methods=['GET'], path="/project",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 231 router.add_api_route(methods=['GET'], path="/tasks",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 233 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 235 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 237 router.add_api_route(


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/spider/tasks.py
    line: 239 router.add_api_route(methods=['POST'], path="/task/run",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/environments.py
    line: 15 router.add_api_route(methods=['GET'], path="/environments",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/groups.py
    line: 44 router.add_api_route(methods=['GET'], path="/groups",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/groups.py
    line: 47 router.add_api_route(methods=['GET'], path="/groups/{group_name}",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/groups.py
    line: 50 router.add_api_route(methods=['GET'], path="/groups/{group_name}/node/{node_name}",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 191 router.add_api_route(methods=['GET'], path="/nodes", endpoint=get_nodes,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 193 router.add_api_route(methods=['GET'], path="/nodes/{node_name}", endpoint=get_node, summary="supervisor 获取单个 node")


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 194 router.add_api_route(methods=['GET'], path="/nodes/{node_name}/processes", endpoint=get_node_processes,


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 197 router.add_api_route(methods=['GET'], path="/nodes/{node_name}/process/{unique_process_name}",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 199 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/process/{unique_process_name}/start",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 201 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/process/{unique_process_name}/stop",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 203 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/process/{unique_process_name}/restart",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 205 router.add_api_route(methods=['GET'], path="/nodes/{node_name}/process/{unique_process_name}/log",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 208 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/all-processes/start",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 210 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/all-processes/stop",


    file: C:\Users\xxx\Desktop\Tplan-main/Tplan-main/backend/app/app/api/api_v1/router/supervisord/nodes.py
    line: 212 router.add_api_route(methods=['PUT'], path="/nodes/{node_name}/all-processes/restart",

进程已结束,退出代码0
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值