国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python獲取程序執(zhí)行文件路徑的方法(推薦)

2020-02-22 23:52:54
字體:
來源:轉載
供稿:網友

1.獲取當前執(zhí)行主腳本方法:sys.argv[0]和_ file _

(1)sys.argv

一個傳給Python腳本的指令參數列表。sys.argv[0]是腳本的名字。一般得到的是相對路徑,用os.path.abspath(sys.argv[0])得到執(zhí)行文件的絕對路徑:

dirname, filename = os.path.split(os.path.abspath(sys.argv[0])) os.path.realpath(sys.argv[0]) 

如果在命令行執(zhí)行sys.argv返回解釋器路徑:[‘/Library/Frameworks/Python.framework/Versions/3.6/bin/ipython3']

(2)_ _ file_ _

獲得當前執(zhí)行模塊所在的路徑,一般為相對路徑,用os.path.abspath(_ _ file_ _)得到執(zhí)行文件的絕對路徑:

dirname, filename = os.path.split(os.path.abspath( _ _ file_ _)) os.path.realpath(_ _ file_ _) 

注意:Python控制臺下,直接使用print _ _ file _ 是會導致 name ‘ _ file _ ' is not defined錯誤的,因為這時沒有在任何一個腳本下執(zhí)行,自然沒有 _ file _ _的定義了。

(3)sys.argv[0]和_ _ file _ _的差異:在主執(zhí)行文件中時,兩者沒什么差異,不過要是在不同的文件下,就不同了,如a.py,b.py這兩個文件

執(zhí)行a.py結果如下:

如上圖結果可以看出:如果都是a.py兩者結果無異,但是從在a中導入b時執(zhí)行的sys.argv[0]還是指的是運行的主文件:a.py而_ _ file_ _卻輸出的是b.py

2.sys.path

模塊搜索路徑的字符串列表。由環(huán)境變量PYTHONPATH初始化得到。是一個目錄的列表,sys.path[0]是調用Python解釋器的當前腳本所在的目錄,即主執(zhí)行文件的父級目錄。

例子:如在/user/ybp/a.py的文件a.py中執(zhí)行:print(sys.path[0])==>/user/ybp,

在命令行執(zhí)行返回空字符串;

3.注意os.path是系統(tǒng)環(huán)境變量,要與上面區(qū)分開來,沒有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)

返回特定文件名的絕對路徑,可以在命令行中執(zhí)行。

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

4.os.getcwd()返回的是當前工作路徑,而不一定需要是在腳本里面執(zhí)行,這個命令相當于pwd,可以在命令行中執(zhí)行,返回的是絕對路徑;

以上這篇python獲取程序執(zhí)行文件路徑的方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 漯河市| 民乐县| 南陵县| 措美县| 濉溪县| 华池县| 湘西| 建始县| 竹北市| 娄底市| 社会| 柘城县| 木里| 朔州市| 桦甸市| 宝丰县| 临武县| 宣威市| 定西市| 南岸区| 白银市| 调兵山市| 吉林省| 老河口市| 孟连| 遵化市| 镇平县| 廉江市| 渭源县| 潞西市| 开鲁县| 嵊州市| 临澧县| 海林市| 淄博市| 苏尼特左旗| 株洲市| 边坝县| 灵台县| 疏勒县| 海宁市|