os.getcwd()讲解
工作目录如下:


如果我们在工程目录下执行,那么就是获取工程目录
比如我们在命令行中运行 python ./Run/run_case_ddt.py
getcwd获取到的目录就是/Users/roman/Documents/GitHub/mooc/
如果我们直接在run_case_ddt.py进行调试,getcwd获取到的目录就是/Users/roman/Documents/GitHub/mooc/Run/
这样两个执行获取出来的是不一样的。我们更多的时候是采用第一种。因为项目中 也会这么去做。
那么调试和命令行运行的时候工作目录不一致,应该怎么解决呢?
怎么样才能在调试脚本的时候,获取到工程目录呢?有两种办法
- 第一种:os.path.abspath(os.path.join(os.getcwd(), "../"))
- 第二种:os.path.dirname(os.path.dirname(os.path.abspath(file)))

最后附上网上查到的获取目录的一些方法
import os
print '***获取当前目录***'
print os.getcwd()
print os.path.abspath(os.path.dirname(__file__))
print '***获取上级目录***'
print os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
print os.path.abspath(os.path.dirname(os.getcwd()))
print os.path.abspath(os.path.join(os.getcwd(), ".."))
print '***获取上上级目录***'
print os.path.abspath(os.path.join(os.getcwd(), "../.."))