首页 > 技术文章 > 项目路径太多如何管理/引用?有os就够了

suanmiaoup 2020-02-22 11:29 原文

如果整个自动化测试的所有文件全部存储在同一个文件夹,那么项目会变得难以管理,列表杂乱无章。

即使对项目做了分层设计,给不同类型文件做了划分,那么不同文件夹各自的路径也不好管理;在一个项目下,最好的定位应该从项目所在盘符的根路径开始,而每个文件夹的路径不建议直接写死,因为项目在环境也许不是永久固定的,将来可能会涉及到迁移,如果我们将项目从Windows系统迁移到Linux系统下,所有路径都会失效。

所以,最好的解决办法是采用:相对路径+路径拼接,将所有高频使用的路径全部整理到一个文件paths.py里,其他地方直接调用即可。

 

如何实现上述方案呢?解决方法也很简单,会涉及到Python的一个内置模块os,

在使用它之前先了解一些基本知识,

__file__:Python的内建变量,它表示当前文件的系统绝对路径,包含文件名

os.path.dirname(参数1):用于获取文件所在的文件夹路径,参数1可以是文件,可以是文件夹

os.path.join(路径1,路径2):拼接两个路径,拼接结果为>路径1+路径2

 

接下来就来实现它,先建好文件分类,paths.py放在common文件夹里,

大致步骤如下,

1、导入os: import os 

2、获取paths.py所在文件夹路径

COMMON_PATH = os.path.dirname(__file__)

3、common的上级目录路径

PROJECT_PATH = os.path.dirname(COMMON_PATH)

4、其他路径

DATAS_PATH = os.path.join(PROJECT_PATH, 'datas')
CASES_PATH = os.path.join(PROJECT_PATH, 'cases')

通过上面这种方式,获取的文件路径一定是正确的,即使项目环境发生了迁移,也不会影响程序的运行。

 

在其它地方调用路径也很方便,就像模块一样直接导入就可以使用 from common.paths import CASES_PATH 

----------------end--------------------

推荐阅读