大家熟知的音诈,肯定是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
后來(lái)參考Stackoverflow得出結(jié)果就是默認(rèn)Flask項(xiàng)目的Run的配置里沒(méi)有Working directory溉躲。就如下圖
Paste_Image.png
所以把它寫上就好了。
當(dāng)然我當(dāng)時(shí)就換了一個(gè)思路——即便工作區(qū)不正確益兄,那文件所在目錄肯定還是工作區(qū)锻梳,那我就直接獲取文件目錄即可。
于是乎就有了這一句——path = os.path.split(os.path.abspath(__file__))[0]
經(jīng)過(guò)測(cè)試净捅,這句即便是錯(cuò)誤的工作區(qū)下也能正常獲取文件目錄(絕對(duì)路徑)