歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python中os.path的妙用

Python中os.path的妙用

日期:2017/3/1 9:18:49   编辑:Linux編程

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 4 xpleaf@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 13 import 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 4 xpleaf@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 4 xpleaf@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)首先獲得當前文件(比如配置文件)所在的路徑

1 basedir = os.path.abspath(os.path.dirname(__file__))

(2)設定某個文件的絕對路徑

1 static_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 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved