python学习——由于错误使用文件绝对路径导致出现的问题,os.path.abspath和os.path.dirname的用法

场景:

整个目录结构如上,测试用例在case目录下,运行脚本run在case目录以外

当在api001这个脚本里面单独执行测试用例的时候是能正常获取到绝对路径,定位到需要的文件

可是在run这个脚本里面去执行的时候,就发现定位到的位置不正确了

原因:

os.path.abspath('.') 是获取当前工作目录路径,我的理解是即获取执行脚本目录路径

所以当在脚本run里执行时,获取到的就是run脚本所在的绝对路径,导致出现的偏差

解决办法:

按照需求,我需要定位case脚本所在的绝对路径的父目录,即整个项目的路径

os.path.dirname(__file__) 获取当前文件的目录,__file__表示当前文件的绝对路径

os.path.dirname(xxx)的功能是:

如果xx是个文件,获取xx的目录

如果xx是个目录,获取xx的父目录

因此可以用os.path.dirname(os.path.dirname(__file__))来定位到当前文件所在目录的父目录

发布了33 篇原创文章 · 获赞 2 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sun_977759/article/details/104943315