软件目录开发规范

因为原来写的程序小,所以把所有的文件都放在一个目录下面也很容易管理。但是当文件量增加的时候,把所有的文件都放在一个文件夹,反而不好管理。为了便于管理,我们把不同类型的文件放在不同的文件夹里管理。这就是今天要讲的目录开发规范,不仅利于自己管理同时也能让被人一眼就看明白你的代码,这是很有必要的。

定义目录结构目的

可读性高: 不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。

可维护性高: 定义好组织规则后,维护者就能很明确地知道,新增的哪个文件和代码应该放在什么目录之下。这个好处是,随着时间的推移,代码/配置的规模增加,项目结构不会混乱,仍然能够组织良好。

目录组织方式

关于如何组织一个较好的Python工程目录结构,已经有一些得到了共识的目录结构。在Stackoverflow的这个问题上,能看到大家对Python目录结构的讨论。

这里面说的已经很好了,我也不打算重新造轮子列举各种不同的方式,这里面我说一下我的理解和体会。

假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了:

Foo/
|-- bin/
|   |-- foo
|
|-- foo/
|   |-- tests/
|   |   |-- __init__.py
|   |   |-- test_main.py
|   |
|   |-- __init__.py
|   |-- main.py
|
|-- docs/
|   |-- conf.py
|   |-- abc.rst
|
|-- setup.py
|-- requirements.txt

不同目录间的模块调用

要使用os和sys模块

如上图,如果你想在bin目录下satff_table文件调用core目录下的main文件。

首先,要知道只能从上一级才能找到下一级中的文件。所以,你要先返回到你要调用的文件的目录的前一级目录即day4。

我们再把找到的路径添加到环境变量中,这样就可以调用了。



原文地址:https://www.cnblogs.com/lixiaoliuer/p/6284351.html