python獲取程式執行檔案路徑的方法其一
1.獲取當前執行主指令碼方法:sys.argv[0]和_ file _
(1)sys.argv
一個傳給Python指令碼的指令引數列表。sys.argv[0]是指令碼的名字。一般得到的是相對路徑,用os.path.abspath(sys.argv[0])得到執行檔案的絕對路徑:
dirname, filename = os.path.split(os.path.abspath(sys.argv[0]))
os.path.realpath(sys.argv[0])
如果在命令列執行sys.argv返回直譯器路徑:[‘/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython3’]
(2)_ _ file_ _
獲得當前執行模組所在的路徑,一般為相對路徑,用os.path.abspath(_ _ file_ _)得到執行檔案的絕對路徑:
dirname, filename = os.path.split(os.path.abspath( _ _ file_ _))
os.path.realpath(_ _ file_ _)
注意:Python控制檯下,直接使用print _ _ file _ 是會導致 name ‘ _ file _ ’ is not defined錯誤的,因為這時沒有在任何一個指令碼下執行,自然沒有 _ file _ _的定義了。
(3)sys.argv[0]和_ _ file _ _的差異:在主執行檔案中時,兩者沒什麼差異,不過要是在不同的檔案下,就不同了,如a.py,b.py這兩個檔案
執行a.py結果如下:
如上圖結果可以看出:如果都是a.py兩者結果無異,但是從在a中匯入b時執行的sys.argv[0]還是指的是執行的主檔案:a.py而_ _ file_ _卻輸出的是b.py
2.sys.path 鄭州做流產多少錢
模組搜尋路徑的字串列表。由環境變數PYTHONPATH初始化得到。是一個目錄的列表,sys.path[0]是呼叫Python直譯器的當前指令碼所在的目錄,即主執行檔案的父級目錄。
例子:如在/user/ybp/a.py的檔案a.py中執行:print(sys.path[0])==>/user/ybp,
在命令列執行返回空字串;
3.注意os.path是系統環境變數,要與上面區分開來,沒有os.path[0],os.path中的一些方法:
(1)os.path.split(path)
將路徑名稱分成頭和尾一對。尾部永遠不會帶有斜槓。如果輸入的路徑以斜槓結尾,那麼得到的空的尾部。
如果輸入路徑沒有斜槓,那麼頭部位為空。如果輸入路徑為空,那麼得到的頭和尾都是空。
(2)os.path.realpath(path)
返回特定檔名的絕對路徑,可以在命令列中執行。
4.os.getcwd()返回的是當前工作路徑,而不一定需要是在指令碼里面執行,這個命令相當於pwd,可以在命令列中執行,返回的是絕對路徑。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2680956/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python如何獲取當前執行檔案路徑?Python
- Python最常用的讀取指定路徑檔案的方法!Python
- python獲取指定目錄所有檔案絕對路徑Python
- 獲取絕對路徑 【檔案找不到】
- SpringBoot 中獲取專案的路徑和檔案流Spring Boot
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- Java中獲取JAR檔案中資源路徑的三種方法JavaJAR
- 獲取當前js檔案被引用的路徑JS
- FileUpload 上傳的檔案獲取相對路徑
- C# WinForm獲取程式所在路徑方法C#ORM
- 5招輕鬆獲取Mac檔案路徑Mac
- 如何獲取 vue 單檔案自身原始碼路徑Vue原始碼
- Xamarin Essentials教程獲取路徑檔案系統FileSystem
- Linux Shell獲取正在執行指令碼的絕對路徑Linux指令碼
- linux獲取docker容器中的檔案路徑怎麼表示LinuxDocker
- Python程式碼打包成可執行檔案的常用方法!Python
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- Qt 程式獲取程式所在路徑、使用者目錄路徑、臨時資料夾等特殊路徑的方法QT
- Linux 中獲取檔案完整路徑的4種方法介紹Linux
- 教你Python使用shutil操作檔案、subprocess執行子程式的方法Python
- Mac進階必看:如何利用Automator快速獲取檔案路徑Mac
- gcc g++ 新增標頭檔案路徑和庫檔案路徑的方法GC
- java獲取專案路徑工具類Java
- C# 獲取程式路徑的幾種方法及其區別【WPF】C#
- 【Python】配置檔案配置路徑Python
- 更改資料檔案路徑的方法
- python讀取檔案指定行的三種方法Python
- Python中獲取執行緒返回值的常用方法!Python執行緒
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- 如何獲取java執行時動態生成的class檔案?Java
- Linux 中顯示可執行檔案的路徑 | 哪個命令Linux
- 獲取微信小程式頁面路徑微信小程式
- JavaWeb中讀取【專案路徑下檔案】的路徑問題:this.getServletContext().getRealPath()JavaWebServletContext
- python程式碼讀取遠端檔案的方法--paramikoPython
- Matlab - 獲取和儲存檔案路徑選擇對話方塊Matlab
- Java 最佳化:讀取配置檔案 "萬能方式" 跨平臺,動態獲取檔案的絕對路徑Java
- 怎麼透過Python獲取檔案指定行的內容?Python
- shell指令碼命令 執行python檔案&python命令列執行python程式碼指令碼Python命令列