一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作。比如核心代码的目录,配置的目录,公共库的目录,日志的目录等!
示例:
这是个小项目的开发框架,从目录结构上来看,bin目录放的是启动的文件,conf目录放的是配置文件的信息,core的目录放的是核心功能的,docs存放的是一些文档,lib用于存放公共库文件,logs存放日志文件,README对软件进行介绍。
良好的软件目录结构,除了对日后的维护有好处,这样更能提升软件开发人员的代码风格。
尤其是README文件,需要详细描述软件的功能,运行环境,已经要注意的问题等!
详细的README文件内容,可以很好对程序读者更好的了解程序!
既然功能以及拆分到各个目录中去了,那他们之间如何进行调用,请看示例:
我们在core目录中core_code.py中写入如下代码:
def sayhi(name): print('Hi %s !' % name)
现在我们要在bin目录中的start.py中调用这个sayhi函数,那应该怎么调用,我们使用os和sys模块中的方法进行调用,请看示例:
import os import sys
# 首先我们通过os的方法获取到当前start.py文件的绝对路径,再获取到文件所在的目录 current_path = os.path.dirname(os.path.abspath(__file__))
# 将获取到目录添加到系统环境变量中 sys.path.append(current_path)
# 这样我们这个文件的bin目录和core目录就在同一级了,我就可以导入了相应的模块了,如果模块名整体很长,可以通过as进行设置别名 import core.core_code as core name = input('What is your name ? ') core.sayhi(name)