1.基本知識
os.path在不同的環境中設置文件的路徑時作用非常大,我們經常在Django或Flask中都看到它的身影,常用的其實有下面的幾個方法:
常用方法 作用 os.path.dirname(__file__) 返回當前python執行腳本的執行路徑(看下面的例子),這裡__file__為固定參數 os.path.abspath(file) 返回一個文件在當前環境中的絕對路徑,這裡file 一參數 os.path.join(basedir,file) 將file文件的路徑設置為basedir所在的路徑,這裡fbasedir和file都為參數OK,我們不妨看下面的例子。
2.測試
先看一下我當前環境下的兩個python腳本文件:
1 2 3 4xpleaf@leaf:~
/Source_Code
$
pwd
/home/xpleaf/Source_Code
xpleaf@leaf:~
/Source_Code
$
ls
hello.py test_os_path.py
hello.py裡面沒有內容,待會用來做測試,主要來看一下test_os_path.py的代碼:
1 2 3 4 5 6 7 8 9 10 11 12 13import
os
path1
=
os.path.dirname(__file__)
print
'The path1 is:'
, path1
path2
=
os.path.abspath(path1)
print
'The path2 is:'
, path2
path3
=
os.path.join(path2,
'hello.py'
)
print
'The path3 is:'
, path3
通過看下面的兩種執行方式,我們來深刻理解上面三個方法的作用:
(1)以相對路徑的方式來執行test_os_path.py
1 2 3 4xpleaf@leaf:~
/Source_Code
$ python test_os_path.py
The path1 is:
The path2 is:
/home/xpleaf/Source_Code
The path3 is:
/home/xpleaf/Source_Code/hello
.py
(2)以絕對路徑的方式來執行test_os_path.py
1 2 3 4xpleaf@leaf:~
/Source_Code
$ python
/home/xpleaf/Source_Code/test_os_path
.py
The path1 is:
/home/xpleaf/Source_Code
The path2 is:
/home/xpleaf/Source_Code
The path3 is:
/home/xpleaf/Source_Code/hello
.py
通過上面兩種執行方式的輸出,就很容易看出三者的作用了。那在實際開發中,有什麼用呢?
3.在實際開發中使用os.path
在實際開發中,我們肯定是要設定一個某些文件的路徑的,比如在Web開發中,對於模板和靜態文件的路徑設定等,其實如果你用過Django或者Flask,應該就可以經常看到在它們的配置文件中,有os.path的出現,一般這樣來用:
(1)首先獲得當前文件(比如配置文件)所在的路徑
1basedir
=
os.path.abspath(os.path.dirname(__file__))
(2)設定某個文件的絕對路徑
1static_file_path
=
os.path.join(basedir,
'index.html'
)
當然,os.path的用法還有很多還多,這裡只是列出常用的這三種,並且給出開發環境的一般用法,至於是否非得這樣用,完全看每個人自己的思路和方法,這裡僅提供參考。
下面關於Python的文章您也可能喜歡,不妨看看:
Linux下Python的安裝以及注意事項 http://www.linuxidc.com/Linux/2015-11/124861.htm
Ubuntu 14.04 下安裝使用Python rq模塊 http://www.linuxidc.com/Linux/2015-08/122441.htm
無需操作系統直接運行 Python 代碼 http://www.linuxidc.com/Linux/2015-05/117357.htm
CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm
Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡