大家熟知的,肯定是path = os.getcwd()
这个写法,这个可以直接给出当前工作路径。
但是在Pycharm中Run一个Flask项目的时候,会发现这个getcwd的返回值很奇怪——"C:\Program Files\Java\jdk1.8.0_91\jre\bin"
如下图
【单文件,非项目情况getcwd正常
Paste_Image.png后来参考Stackoverflow得出结果就是默认Flask项目的Run的配置里没有Working directory。就如下图
Paste_Image.png所以把它写上就好了。
当然我当时就换了一个思路——即便工作区不正确,那文件所在目录肯定还是工作区,那我就直接获取文件目录即可。
于是乎就有了这一句——path = os.path.split(os.path.abspath(__file__))[0]
经过测试,这句即便是错误的工作区下也能正常获取文件目录(绝对路径)
网友评论