大家熟知的,肯定是path = os.getcwd()這個(gè)寫法,這個(gè)可以直接給出當(dāng)前工作路徑。
但是在Pycharm中Run一個(gè)Flask項(xiàng)目的時(shí)候,會(huì)發(fā)現(xiàn)這個(gè)getcwd的返回值很奇怪——"C:\Program Files\Java\jdk1.8.0_91\jre\bin"
如下圖

【單文件,非項(xiàng)目情況getcwd正常

Paste_Image.png
后來參考Stackoverflow得出結(jié)果就是默認(rèn)Flask項(xiàng)目的Run的配置里沒有Working directory。就如下圖

Paste_Image.png
所以把它寫上就好了。
當(dāng)然我當(dāng)時(shí)就換了一個(gè)思路——即便工作區(qū)不正確,那文件所在目錄肯定還是工作區(qū),那我就直接獲取文件目錄即可。
于是乎就有了這一句——path = os.path.split(os.path.abspath(__file__))[0]
經(jīng)過測試,這句即便是錯(cuò)誤的工作區(qū)下也能正常獲取文件目錄(絕對(duì)路徑)