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

目录组织方式:

我想实现,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

原文地址:https://www.cnblogs.com/itfat/p/7460132.html