Python 獲取當(dāng)前所在目錄的方法詳解
sys.path
模塊搜索路徑的字符串列表。由環(huán)境變量PYTHONPATH初始化得到。
sys.path[0]是調(diào)用Python解釋器的當(dāng)前腳本所在的目錄。
sys.argv
一個(gè)傳給Python腳本的指令參數(shù)列表。
sys.argv[0]是腳本的名字(由系統(tǒng)決定是否是全名)
假設(shè)顯示調(diào)用python指令,如 python demo.py ,會(huì)得到絕對(duì)路徑;
若直接執(zhí)行腳本,如 ./demo.py ,會(huì)得到相對(duì)路徑。
os.getcwd()
獲取當(dāng)前工作路徑。在這里是絕對(duì)路徑。
https://docs.python.org/2/library/os.html#os.getcwd
__file__
獲得模塊所在的路徑,可能得到相對(duì)路徑。
如果顯示執(zhí)行Python,會(huì)得到絕對(duì)路徑。
若按相對(duì)路徑來(lái)直接執(zhí)行腳本 ./pyws/path_demo.py ,會(huì)得到相對(duì)路徑。
為了獲取絕對(duì)路徑,可調(diào)用 os.path.abspath()
os.path 中的一些方法
os.path.split(path)
將路徑名稱分成頭和尾一對(duì)。尾部永遠(yuǎn)不會(huì)帶有斜杠。如果輸入的路徑以斜杠結(jié)尾,那么得到的空的尾部。
如果輸入路徑?jīng)]有斜杠,那么頭部位為空。如果輸入路徑為空,那么得到的頭和尾都是空。
https://docs.python.org/2/library/os.path.html#os.path.split
os.path.realpath(path)
返回特定文件名的絕對(duì)路徑。
https://docs.python.org/2/library/os.path.html#os.path.realpath
代碼示例
環(huán)境 Win7, Python2.7
以 /e/pyws/path_demo.py 為例
#!/usr/bin/env python import os import sys if __name__ == '__main__': print "sys.path[0] =", sys.path[0] print "sys.argv[0] =", sys.argv[0] print "__file__ =", __file__ print "os.path.abspath(__file__) =", os.path.abspath(__file__) print "os.path.realpath(__file__) = ", os.path.realpath(__file__) print "os.path.dirname(os.path.realpath(__file__)) =", os.path.dirname(os.path.realpath(__file__)) print "os.path.split(os.path.realpath(__file__)) =", os.path.split(os.path.realpath(__file__)) print "os.getcwd() =", os.getcwd()
在 /d 中運(yùn)行,輸出為
$ python /e/pyws/path_demo.py
sys.path[0] = E:\pyws
sys.argv[0] = E:/pyws/path_demo.py
__file__ = E:/pyws/path_demo.py
os.path.abspath(__file__) = E:\pyws\path_demo.py
os.path.realpath(__file__) = E:\pyws\path_demo.py
os.path.dirname(os.path.realpath(__file__)) = E:\pyws
os.path.split(os.path.realpath(__file__)) = ('E:\\pyws', 'path_demo.py')
os.getcwd() = D:\
在e盤(pán)中用命令行直接執(zhí)行腳本
$ ./pyws/path_demo.py
sys.path[0] = E:\pyws
sys.argv[0] = ./pyws/path_demo.py
__file__ = ./pyws/path_demo.py
os.path.abspath(__file__) = E:\pyws\path_demo.py
os.path.realpath(__file__) = E:\pyws\path_demo.py
os.path.dirname(os.path.realpath(__file__)) = E:\pyws
os.path.split(os.path.realpath(__file__)) = ('E:\\pyws', 'path_demo.py')
os.getcwd() = E:\
相關(guān)文章
簡(jiǎn)單的編程0基礎(chǔ)下Python入門(mén)指引
這篇文章主要介紹了簡(jiǎn)單的編程0基礎(chǔ)下Python入門(mén)指引,包括從各個(gè)系統(tǒng)的Python安裝和簡(jiǎn)單的語(yǔ)句知識(shí),需要的朋友可以參考下2015-04-04
python學(xué)習(xí)之基于Python的人臉識(shí)別技術(shù)學(xué)習(xí)
面部識(shí)別技術(shù)的應(yīng)用越來(lái)越廣泛,它廣泛應(yīng)用于安全系統(tǒng)、人機(jī)交互、社交媒體、醫(yī)療保健等領(lǐng)域。本文介紹了基于Python的人臉識(shí)別技術(shù),感興趣的小伙伴可以參考閱讀2023-03-03
python 多種日期時(shí)間處理函數(shù)實(shí)例詳解
Python提供了豐富的日期和時(shí)間處理函數(shù),可以幫助你輕松地解析、格式化、計(jì)算和操作日期和時(shí)間,在實(shí)際應(yīng)用中,根據(jù)具體需求選擇合適的函數(shù),可以提高工作效率并簡(jiǎn)化代碼,本文給大家介紹python多種日期時(shí)間處理函數(shù)介紹,感興趣的朋友一起看看吧2024-03-03
python的命名規(guī)則知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享的是關(guān)于python的命名規(guī)則知識(shí)點(diǎn)總結(jié),有需要的朋友們可以參考下。2019-10-10
利用Django內(nèi)置的認(rèn)證視圖實(shí)現(xiàn)用戶密碼重置功能詳解
這篇文章主要給大家介紹了關(guān)于利用Django內(nèi)置的認(rèn)證視圖實(shí)現(xiàn)用戶密碼重置功能的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
pyCharm中python對(duì)象的自動(dòng)提示方式
這篇文章主要介紹了pyCharm中python對(duì)象的自動(dòng)提示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python使用pyaudio錄音和格式轉(zhuǎn)化方式
這篇文章主要介紹了python使用pyaudio錄音和格式轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05

