Python獲取當前腳本文件夾(Script)的絕對路徑方法代碼
Python腳本有一個毛病,當使用相對路徑時,被另一個不同目錄下的py文件中導入時,會報找不到對應文件的問題。感覺是當前工作目錄變成了導入py文件當前目錄。如果你有配置文件的讀取操作,然后都放在一個py文件中,而你又用的是相對路徑,而且這個py文件在多個不同目錄下的py文件中被導入,那就呵呵了。。。還是用絕對路徑吧。
解決這個問題,可以用絕對路徑。當然是自動的絕對路徑,而不是每次都手動給前綴賦值,讓腳本自動尋找當前文件的絕對路徑。
此處分享在python下獲取一個腳本的絕對路徑的2種方式。
1、__file__變量
abs_file=__file__ print("abs path is %s" %(__file__)) abs_dir=abs_file[:abs_file.rfind("\\")] # windows下用\\分隔路徑,linux下用/分隔路徑
簡單直接,當前py文件的絕對目錄就有了。首推此方式。
2、os+sys
import os import sys print("abs path is %s" %(os.path.abspath(sys.argv[0])))
在windows下sys.argv[0]直接取出的就是參數(shù),如果執(zhí)行命令傳參用的是絕對路徑取出的就是帶絕對路徑,如果傳參用的是相對路徑,就用得上前面的os.path.abspath()函數(shù)了。
以上就是全部實例內(nèi)容,感謝大家的閱讀和對腳本之家的支持。
相關文章
python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法
今天小編就為大家分享一篇python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07python中Scikit-learn庫的高級特性和實踐分享
Scikit-learn是一個廣受歡迎的Python庫,它用于解決許多機器學習的問題,在本篇文章中,我們將進一步探索Scikit-learn的高級特性和最佳實踐,需要的朋友可以參考下2023-07-07python實現(xiàn)的MySQL增刪改查操作實例小結
這篇文章主要介紹了python實現(xiàn)的MySQL增刪改查操作,結合實例形式總結分析了Python基本的mysql增刪改查及銀行賬號查詢等相關操作實現(xiàn)技巧,需要的朋友可以參考下2018-12-12