最近接手一项工作,管理某些 python 脚本,脚本越来越复杂,很难管理,想要优化下 脚本特点 脚本技术上很简单,大多是离线的批处理程序,诸如: 读取本地文件,根据文件里的信息修改数据库某一批数据修改数据库某些字段格式根据某些字段计算新的字段... 这些脚本大多数依赖手动执行,少部分是定时任务执行 通常每个 module 里都有 main 函数,直接执行 main 现在的做法 直接 vscode 远程到服务器上,用命令执行某单个脚本,比如 python XXX.py + 参数 问题:原来的程序很简单,可能只有寥寥几个文件,这样没有啥大问题,现在越来越复杂,很难使用 很多公共的逻辑被抽取出来了,形成了很多 package ,在脚本里有很多 import ,因为之前是执行 module 的 main 函数,import 的公共 package 就需要在 sys.path 里面找,导致很多脚本需要在头文件加上 sys.path.append这样没有可移植性,项目结构一变就无法使用,很难维护