软件开发目录规范


软件的目录规范并没有什么硬性要求,

但是为了清晰可读,为了提高程序的可读性与可维护性,应该给软件设计良好的目录结构

一、目录结构

一、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)添加路径,实现正常导入