前言: 有时候接手大型项目,前同事文档不全或者没写文档,需要快速定位代码位置了解项目,或者自己写的项目过多,忘记存放在那个文件里了,可以直接用以下脚本: 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