____tz_zs
__file__
在ide中獲取的是絕對路徑,在終端啟動時,啟動位置是本模組,則為相對路徑,由外部模組呼叫則獲取的是未經解析的絕對路徑。
sys.path[0]
忠實的表示啟動的檔案所在的路徑
os.getcwd()
獲取的是工作空間的路徑。ide中可以設定working directory,終端啟動時則是指你cd到的那個路徑下。
os.path.abspath(os.path.split(os.path.abspath(os.path.realpath(__file__)))[0] + 「/…/」)
此方法是我寫的獲取專案絕對路徑的工具方法。注意此檔案的位置固定為專案的util資料夾下。
補充:sys.argv
是呼叫指令碼時使用的路徑,list格式。是呼叫python命令的時候的第乙個引數。
如,在ide啟動時,ide預設配置的引數如圖
['/home/zmate/tzzs/mytz/development/test_start.py']
在終端啟動
:~/tzzs/mytz/development$ python test_start.py
['test_start.py']
:~/tzzs/mytz$ python development/test_start.py
['development/test_start.py']
專案名稱mytz
專案目錄結構
development/test_start.py
util/tool_get_project_path.py
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
"""@author: tzzs
"""import os
import sys
defget_project_path()
:print
(__file__)
# 此py檔案所在的路徑
print
(sys.path[0]
)# 啟動的py檔案所在的路徑
print
(os.getcwd())
# 工作空間的路徑(working directory),預設為啟動的py檔案所在路徑,但ide中可以自定義設定。
project_path = os.path.split(os.path.abspath(os.path.realpath(__file__)))
[0]+
"/../"
print
(os.path.abspath(project_path)
)if __name__ ==
'__main__'
: get_project_path(
)
#!/usr/bin/python2.7
# -*- coding:utf-8 -*-
"""@author: tzzs
"""import sys
reload
(sys)
sys.setdefaultencoding(
'utf-8')0
]+"/../"
)from util.tool_get_project_path import get_project_path
get_project_path(
)
直接啟動,此時預設工作目錄為 /home/user/tzzs/mytz/util
/home/user/tzzs/mytz/util/tool_get_project_path.py
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz
修改工作目錄(working directory)為 /home/user/tzzs/mytz/
/home/user/tzzs/mytz/util/tool_get_project_path.py
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz
/home/user/tzzs/mytz
直接啟動,此時預設工作目錄為 /home/user/tzzs/mytz/development
/home/user/tzzs/mytz/util/tool_get_project_path.pyc
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz
修改工作目錄(working directory)為 /home/user/tzzs/mytz/
/home/user/tzzs/mytz/util/tool_get_project_path.pyc
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz
/home/user/tzzs/mytz
在檔案位置啟動
:~/tzzs/mytz/util$ python tool_get_project_path.py
tool_get_project_path.py
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz
在專案根目錄啟動
:~/tzzs/mytz$ python util/tool_get_project_path.py
util/tool_get_project_path.py
/home/user/tzzs/mytz/util
/home/user/tzzs/mytz
/home/user/tzzs/mytz
在檔案位置啟動
:~/tzzs/mytz/development$ python test_start.py
/home/user/tzzs/mytz/development/../util/tool_get_project_path.pyc
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz
在專案根目錄啟動
:~/tzzs/mytz$ python development/test_start.py
/home/user/tzzs/mytz/development/../util/tool_get_project_path.pyc
/home/user/tzzs/mytz/development
/home/user/tzzs/mytz
/home/user/tzzs/mytz
python獲取當前檔案路徑以及父檔案路徑
當前檔案的路徑 pwd os.getcwd 當前檔案的父路徑 father path os.path.abspath os.path.dirname pwd os.path.sep 當前檔案的前兩級目錄 grader father os.path.abspath os.path.dirname pw...
python獲取檔案路徑
一 獲取當前路徑 1 使用sys.ar 0 import sys print sys.ar 0 輸出 本地路徑 2 os模組複製 import os print os.getcwd 獲取當前工作目錄路徑 print os.path.abspath 獲取當前工作目錄路徑 print os.path.a...
python 獲取檔案路徑
print 獲取當前檔案路徑 os.path.realpath file 獲取當前檔案路徑 parent os.path.dirname os.path.realpath file print 獲取其父目錄 parent 從當前檔案路徑中獲取目錄 garder os.path.dirname par...