Python 獲取當前路徑的方法

2021-09-20 08:38:43 字數 2541 閱讀 3625

python2.7 中獲取路徑的各種方法

sys.path

模組搜尋路徑的字串列表。由環境變數pythonpath初始化得到。

sys.path[0]是呼叫python直譯器的當前指令碼所在的目錄。

sys.ar**

乙個傳給python指令碼的指令引數列表。

sys.ar**[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.ar**[0] =", sys.ar**[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.ar**[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.ar**[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獲取當前路徑

import os,sys 使用sys.path 0 sys.argv 0 os.getcwd os.path.abspath file os.path.realpath file sys.path是python會去尋找模組的搜尋路徑列表,sys.path 0 和sys.argv 0 是一回事因為p...

Python獲取當前路徑

refs 假設py檔案路徑為 f seg myresearch myproject 2 test.py import sys print sys.argv 0 獲得的是當前執行指令碼的位置 若在命令列執行的該命令,則為空 12執行結果 在python指令碼中執行的結果 f seg myresearc...

C 獲取當前路徑方法

獲取模組的完整路徑。string path1 system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取和設定當前目錄 該程序從中啟動的目錄 的完全限定目錄 string path2 system.environment.c...