软件目录结构规范以及在不同目录间进行模块调用

Posted 东大网管

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件目录结构规范以及在不同目录间进行模块调用相关的知识,希望对你有一定的参考价值。

目录组织方式:

我想实现,ATM项目里,启动程序bin/atm.py去调用,atm/conf/settings.py和 atm/core/main.py这两个程序,怎么实现呢?

在atm.py里写上代码:

必须用相对路径,使用环境变量__file__可以获得当前文件的相对路径

而Pycharm是从根目录下开始执行的,所以返回的是根路径

而我们需要的绝对路径,所以从上面的相对路径,使用sys模块,得到绝对路径:

我们得到了绝对路径,我们需要向上一级目录。

需要使用os.path.dirname(),作用是返回目录名不要文件名。

但是得到的路径,我们还需要再向上一级:

这样就得到了我们想要的项目的绝对路径目录结构

把这个目录添加到环境变量里去就OK了:

这个时候再导入其他目录下文件,就不会出错了:

最终我们完整的程序如下:

首先在main.py定义一个函数login():

在启动程序atm.py里调用core/main.py

 

以上是关于软件目录结构规范以及在不同目录间进行模块调用的主要内容,如果未能解决你的问题,请参考以下文章

python 软件目录结构规范 与 模块导入

python 软件目录结构规范--附如何通过环境变量导入其他目录模块

Python 之 不同目录间进行模块调用

python不同目录间模块调用

模块 导入方式 软件开发目录规范

Python 软件开发规范