文件目录结构的重要性:对于软件工作者来说,文件目录结构一定要清晰,这不仅是对于将来检查代码,还是对于软件运行维护人员,这易于别人读懂你的代码以及明白你这个软件的设计思路,使软件具有可读性。
文件目录结构:
Foo/
|-- bin/
| |-- foo
|
|-- foo/
| |-- tests/
| | |-- __init__.py
| | |-- test_main.py
| |
| |-- __init__.py
| |-- main.py
|
|--coof/
| |--settings.py|-- docs/
| |-- conf.py
| |-- abc.rst
|
|-- setup.py
|-- requirements.txt
|-- README
简要解释一下:
-
bin/
: 存放项目的一些可执行文件,当然你可以起名script/
之类的也行。 -
foo/
: 存放项目的所有源代码。(1) 源代码中的所有模块、包都应该放在此目录。不要置于顶层目录。(2) 其子目录tests/
存放单元测试代码; (3) 程序的入口最好命名为main.py
。 -
docs/
: 存放一些文档。 - coof/:存放配置文件
-
setup.py
: 安装、部署、打包的脚本。 -
requirements.txt
: 存放软件依赖的外部Python包列表。 -
README
: 项目说明文件。
在文件夹下面调用其他接口:
意义:使文件具有可移植性,当我把这个软件copy到其他主机的时候可以使我的程序具有可读性。
示例:如我有以下项目文件,每个文件都有不同的接口。
为了能让我的主程序可以调用其他接口,就必须找到当前文件的相对路径。如上图所示,我的执行文件为atm.py,为了能让我的文件可以调用main 接口,就必须返回到Atm的相对路径。
import os
import sys
print(__file__)
print(os.path.abspath(__file__)) #当前文件的相对路径 atm.py的相对路径
print(os.path.dirname(os.path.abspath(__file__))) #上一层文件的相对路径 bin的相对路径
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #上上一层文件的相对路径 Atm的相对路径
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR) #添加环境变量
from core import main
main.login()
这样,我就可以调用不同的接口文件。