背景
在编写Robot Framework测试库的过程中,需要将自建库的init.py脚本文件所在路径添加进系统路径,Python才能够识别库中的各个模块。
结论
假如,在桌面创建了一个名为test.py
的Python脚本,并输入如下代码:1
2
3
4import os
print(os.path.dirname(__file__))
print(os.getcwd())
然后,我们在电脑中的另一个位置F:\04_Individual\03_Tech\00_Hexo
打开终端,并运行刚刚创建的脚本test.py
,会得到如下结果:1
2
3
4ShiPeng@HelloWorld MINGW64 /f/04_Individual/03_Tech/00_Hexo
$ python3 -u "c:\Users\ShiPeng\Desktop\test.py"
c:\Users\ShiPeng\Desktop
F:\04_Individual\03_Tech\00_Hexo
可以发现,os.getcwd()
获取的是当前工作目录(即工程目录),而os.path.dirname(__file__)
获得的才是当前Python脚本所在目录(不包含文件名)。
参考
- 浅析python3中的os.path.dirname的使用