首頁  >  文章  >  後端開發  >  python取得程式執行檔路徑的方法

python取得程式執行檔路徑的方法

不言
不言原創
2018-04-27 10:16:016896瀏覽

下面為大家分享一篇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) 將路徑名稱分成頭和尾一對。尾部永遠不會有斜線。如果輸入的路徑以斜線結尾,那麼得到的空的尾部。

如果輸入路徑沒有斜杠,那麼頭部位為空。如果輸入路徑為空,那麼得到的頭和尾都是空。

https://docs.python.org/2/library/os.path.html#os.path.split

(2)os.path. realpath(path) 傳回特定檔案名稱的絕對路徑,可以在命令列中執行。

https://docs.python.org/2/library/os.path.html#os.path.realpath

4.os.getcwd()回傳的是目前工作路徑,不一定需要是在腳本裡面執行,這個指令相當於pwd,可以在命令列中執行,回傳的是絕對路徑;##相關推薦:


python取得csv文字指定資料方法


以上是python取得程式執行檔路徑的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn