软件开发目录规范
软件的目录规范并没有什么硬性要求,
但是为了清晰可读,为了提高程序的可读性与可维护性,应该给软件设计良好的目录结构
一、目录结构
一、bin文件/run.py或者start.py
程序的启动文件,如果执行文件较少,可以直接放在项目的根目录下,
因为在运行时会默认将运行文件所在的文件夹作为sys.path的第一个路径,这样就省去了处理环境变量的步骤
二、core文件/src.py
core文件,存放逻辑相关代码
三、api文件/interface
api文件,存放接口文件,接口主要用于为业务逻辑提供数据操作
四、db文件/db_handle.py
db文件,存放操作数据库相关文件,主要用于与数据库交互
五、lib文件/common.py
library库文件,存放程序中常用的自定义模块
一般写公共的文件
六、conf文件/settings.py
config文件,存放配置文件
七、log文件
日志方便排查错误
八、requestment.txt
保存第三方模块的模块名
九、redme
对项目的解释,类似于说明书
二、其它补充
补充:
在Mac系统和Linux系统中使用
ls: 查看当前文件夹下的所有的文件夹和文件
在Windows系统中
dir:查看当前文件夹下的所有的文件夹和文件
三、衍生的问题
问题
1、在执行文件中不能写相对路径
2、在自己电脑上写的路径,放在别人电脑上不能正确运行
3、pycharm比python解释器的路径多了一个根目录
所以需要找到一种合适的配置路径的方式,使得文件导入不报错
解决方式
__file__的返回值是:当前文件的绝对路径+文件名
os模块中 os.path.abspath(__file__)的返回值是:当前文件的绝对路径+文件名
这里__file__等价于os.path.abspath(__file__),后者更规范
os模块中 os.path.dirname(__file__)表示把当前路径向上提一层
os.path.dirname(os.path.dirname(__file__))表示再把当前路径向上提一层
直到提升到根目录处,把所得路径赋值给base_path
通过sys.path.append(base_path)添加路径,实现正常导入