您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關使用python獲取當前目錄的方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
sys.path
模塊搜索路徑的字符串列表。由環境變量PYTHONPATH初始化得到。
sys.path[0]是調用Python解釋器的當前腳本所在的目錄。
sys.argv
一個傳給Python腳本的指令參數列表。
sys.argv[0]是腳本的名字(由系統決定是否是全名)
假設顯示調用python指令,如 python demo.py ,會得到絕對路徑;
若直接執行腳本,如 ./demo.py ,會得到相對路徑。
os.getcwd()
獲取當前工作路徑。在這里是絕對路徑。
__file__
獲得模塊所在的路徑,可能得到相對路徑。
如果顯示執行Python,會得到絕對路徑。
若按相對路徑來直接執行腳本 ./pyws/path_demo.py ,會得到相對路徑。
為了獲取絕對路徑,可調用 os.path.abspath()
os.path 中的一些方法
os.path.split(path)
將路徑名稱分成頭和尾一對。尾部永遠不會帶有斜杠。如果輸入的路徑以斜杠結尾,那么得到的空的尾部。
如果輸入路徑沒有斜杠,那么頭部位為空。如果輸入路徑為空,那么得到的頭和尾都是空。
os.path.realpath(path)
返回特定文件名的絕對路徑。
代碼示例
環境 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 中運行,輸出為:
$ 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盤中用命令行直接執行腳本:
$ ./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:\
感謝各位的閱讀!關于使用python獲取當前目錄的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。