Python获取当前脚本绝对路径
Python腳本有一個(gè)毛病,當(dāng)使用相對(duì)路徑時(shí),被另一個(gè)不同目錄下的py文件中導(dǎo)入時(shí),會(huì)報(bào)找不到對(duì)應(yīng)文件的問(wèn)題。感覺(jué)是當(dāng)前工作目錄變成了導(dǎo)入py文件當(dāng)前目錄。如果你有配置文件的讀取操作,然后都放在一個(gè)py文件中,而你又用的是相對(duì)路徑,而且這個(gè)py文件在多個(gè)不同目錄下的py文件中被導(dǎo)入,那就呵呵了。。。還是用絕對(duì)路徑吧。
解決這個(gè)問(wèn)題,可以用絕對(duì)路徑。當(dāng)然是自動(dòng)的絕對(duì)路徑,而不是每次都手動(dòng)給前綴賦值,讓腳本自動(dòng)尋找當(dāng)前文件的絕對(duì)路徑。
此處分享在python下獲取一個(gè)腳本的絕對(duì)路徑的2種方式。
1、__file__變量
abs_file=__file__ print("abs path is %s" %(__file__)) abs_dir=abs_file[:abs_file.rfind("\\")] # windows下用\\分隔路徑,linux下用/分隔路徑簡(jiǎn)單直接,當(dāng)前py文件的絕對(duì)目錄就有了。首推此方式。
2、os+sys
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' import os import sys print("abs path is %s" %(os.path.abspath(sys.argv[0])))在windows下sys.argv[0]直接取出的就是參數(shù),如果執(zhí)行命令傳參用的是絕對(duì)路徑取出的就是帶絕對(duì)路徑,如果傳參用的是相對(duì)路徑,就用得上前面的os.path.abspath()函數(shù)了。
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Python获取当前脚本绝对路径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python中的map和reduce函数
- 下一篇: websocket python爬虫_p