获取脚本路径

假设现在的文件结构是

1
2
3
4
5
6
7
- a.py
-- import c
- bfolder
- c.py
-- print(os.getcwd())
-- print(__file__)
-- print(os.path.abspath(__file__))

执行

1
python a.py

a再执行时调用了c.py,虽然os.getcwd()写在c里面,但是打印的结果却是a的父目录,但是os.path.abspath(__file__)打印出来的则是c.py自己的绝对路径。

需要注意的是print(__file__),在终端里面运行打印出来的仅仅是文件名,在jupyter里面则是打印绝对路径(网上看到有说pycharm也存在此问题)。已前者为准。