欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年04月26日 16:11:07   作者:py_tester  
下面小編就為大家分享一篇python獲取程序執(zhí)行文件路徑的方法(推薦),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

(1)sys.argv

一個傳給Python腳本的指令參數(shù)列表。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_ _

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

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

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

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

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

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

2.sys.path

模塊搜索路徑的字符串列表。由環(huán)境變量PYTHONPATH初始化得到。是一個目錄的列表,sys.path[0]是調(diào)用Python解釋器的當(dāng)前腳本所在的目錄,即主執(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)

將路徑名稱分成頭和尾一對。尾部永遠不會帶有斜杠。如果輸入的路徑以斜杠結(jié)尾,那么得到的空的尾部。

如果輸入路徑?jīng)]有斜杠,那么頭部位為空。如果輸入路徑為空,那么得到的頭和尾都是空。

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()返回的是當(dāng)前工作路徑,而不一定需要是在腳本里面執(zhí)行,這個命令相當(dāng)于pwd,可以在命令行中執(zhí)行,返回的是絕對路徑;

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

相關(guān)文章

  • Python3自動安裝第三方庫,跟pip說再見

    Python3自動安裝第三方庫,跟pip說再見

    很多朋友私信小編Python安裝第三方庫安裝技巧,在這就不一一回復(fù)大家了,今天小編給大家分享一篇教程關(guān)于Python自動安裝第三方庫的小技巧,本文以安裝plotly為例給大家詳細講解,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Python Dataframe 指定多列去重、求差集的方法

    Python Dataframe 指定多列去重、求差集的方法

    今天小編就為大家分享一篇Python Dataframe 指定多列去重、求差集的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 在Python中使用gRPC的方法示例

    在Python中使用gRPC的方法示例

    這篇文章主要介紹了在Python中使用gRPC的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python四個坐標(biāo)點對圖片區(qū)域最小外接矩形進行裁剪

    python四個坐標(biāo)點對圖片區(qū)域最小外接矩形進行裁剪

    在圖像裁剪操作中,opencv和pillow兩個庫都具有相應(yīng)的函數(shù),如果想要對目標(biāo)的最小外接矩形進行裁剪該如何操作呢?本文就來詳細的介紹一下
    2021-06-06
  • 教你利用Selenium+python自動化來解決pip使用異常

    教你利用Selenium+python自動化來解決pip使用異常

    今天帶大家來學(xué)習(xí)怎么利用Selenium+python自動化解決pip使用異常,文中介紹的非常詳細,對正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • Python使用captcha制作驗證碼的實現(xiàn)示例

    Python使用captcha制作驗證碼的實現(xiàn)示例

    本文主要介紹了Python使用captcha制作驗證碼的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python開發(fā)如何在ubuntu 15.10 上配置vim

    Python開發(fā)如何在ubuntu 15.10 上配置vim

    這篇文章主要介紹了Python開發(fā)如何在ubuntu 15.10 上配置vim 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • PyTorch里面的torch.nn.Parameter()詳解

    PyTorch里面的torch.nn.Parameter()詳解

    今天小編就為大家分享一篇PyTorch里面的torch.nn.Parameter()詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python去除字符串中的空格、特殊字符和指定字符的三種方法

    python去除字符串中的空格、特殊字符和指定字符的三種方法

    本文主要介紹了python去除字符串中的空格、特殊字符和指定字符的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python正則匹配判斷手機號是否合法的方法

    Python正則匹配判斷手機號是否合法的方法

    今天小編就為大家分享一篇Python正則匹配判斷手機號是否合法的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論