Python中os模塊功能與用法詳解
本文實例講述了Python中os模塊功能與用法。分享給大家供大家參考,具體如下:
OS模塊
Python的os模塊封裝了常見的文件和目錄操作,本文只是列出部分常用的方法,更多的方法可以查看官方文檔。
下面是部分常見的用法:
方法 | 說明 |
---|---|
os.mkdir | 創(chuàng)建目錄 |
os.rmdir | 刪除目錄 |
os.rename | 重命名 |
os.remove | 刪除文件 |
os.getcwd | 獲取當(dāng)前工作路徑 |
os.walk | 遍歷目錄 |
os.path.join | 連接目錄與文件名 |
os.path.split | 分割文件名與目錄 |
os.path.abspath | 獲取絕對路徑 |
os.path.dirname | 獲取路徑 |
os.path.basename | 獲取文件名或文件夾名 |
os.path.splitext | 分離文件名與擴展名 |
os.path.isfile | 判斷給出的路徑是否是一個文件 |
os.path.isdir | 判斷給出的路徑是否是一個目錄 |
例子
后文的例子以下面的目錄結(jié)構(gòu)為參考,工作目錄為/Users/ethan/coding/python。
看看例子:
- os.path.abspath:獲取文件或目錄的絕對路徑
$ pwd /Users/ethan/coding/python $ python >>> import os # 記得導(dǎo)入 os 模塊 >>> os.path.abspath('hello.py') '/Users/ethan/coding/python/hello.py' >>> os.path.abspath('web') '/Users/ethan/coding/python/web' >>> os.path.abspath('.') # 當(dāng)前目錄的絕對路徑 '/Users/ethan/coding/python'
- os.path.dirname:獲取文件或文件夾路徑
>>> os.path.dirname('/Users/ethan/coding/python/hello.py') '/Users/ethan/coding/python' >>> os.path.dirname('/Users/ethan/coding/python/') '/Users/ethan/coding/python' >>> os.path.dirname('/Users/ethan/coding/python') '/Users/ethan/coding'
- os.path.basename:獲取文件名或文件夾名
>>> os.path.basename('/Users/ethan/coding/python/hello.py') 'hello.py' >>> os.path.basename('/Users/ethan/coding/python/') '' >>> os.path.basename('/Users/ethan/coding/python') 'python'
- os.path.splitext:分離文件名與擴展名
>>> os.path.splitext('/Users/ethan/coding/python/hello.py') ('/Users/ethan/coding/python/hello', '.py') >>> os.path.splitext('/Users/ethan/coding/python') ('/Users/ethan/coding/python', '') >>> os.path.splitext('/Users/ethan/coding/python/') ('/Users/ethan/coding/python/', '')
- os.path.split:分離目錄與文件名
>>> os.path.split('/Users/ethan/coding/python/hello.py') ('/Users/ethan/coding/python', 'hello.py') >>> os.path.split('/Users/ethan/coding/python/') ('/Users/ethan/coding/python', '') >>> os.path.split('/Users/ethan/coding/python') ('/Users/ethan/coding', 'python')
- os.path.isfile/os.path.isdir:判斷當(dāng)前路徑是否是一個文件或文件夾
>>> os.path.isfile('/Users/ethan/coding/python/hello.py') True >>> os.path.isdir('/Users/ethan/coding/python/') True >>> os.path.isdir('/Users/ethan/coding/python') True >>> os.path.isdir('/Users/ethan/coding/python/hello.py') False
-
os.walk:遍歷目錄
os.walk 是遍歷目錄常用的模塊,它返回一個包含 3 個元素的元祖:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回該目錄下所有的絕對路徑;dirnames 是以列表 list 形式返回每一個絕對路徑下的文件夾名字;filesnames 是以列表 list 形式返回該路徑下所有文件名字。
>>> for root, dirs, files in os.walk('/Users/ethan/coding'): ... print root ... print dirs ... print files ... /Users/ethan/coding ['python'] [] /Users/ethan/coding/python ['web2'] ['hello.py'] /Users/ethan/coding/python/web2 [] []
參考資料
關(guān)于Python文件操作-Rolle Holt
操作文件和目錄-廖雪峰的官方網(wǎng)站
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
深入探究python中Pandas庫處理缺失數(shù)據(jù)和數(shù)據(jù)聚合
在本篇文章中,我們將深入探討Pandas庫中兩個重要的數(shù)據(jù)處理功能:處理缺失數(shù)據(jù)和數(shù)據(jù)聚合,文中有詳細的代碼示例,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-07-07PyQt5 QLineEdit輸入的子網(wǎng)字符串校驗QRegExp實現(xiàn)
這篇文章主要介紹了PyQt5 QLineEdit輸入的子網(wǎng)字符串校驗QRegExp實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04在Ubuntu系統(tǒng)中運行python代碼的幾個步驟
項目中需要在Linux上運行自己寫的python腳本,特此記錄一下操作流程,整個流程比較簡單,下面這篇文章主要給大家介紹了關(guān)于在Ubuntu系統(tǒng)中運行python代碼的幾個步驟,需要的朋友可以參考下2023-12-12Python 編碼規(guī)范(Google Python Style Guide)
本項目并非 Google 官方項目, 而是由國內(nèi)程序員憑熱情創(chuàng)建和維護,對于想學(xué)習(xí)python的朋友可以參考一下2018-05-05Python中Django與Echarts的結(jié)合用法圖文詳解
ECharts是一個第三方控件,下面這篇文章主要給大家介紹了關(guān)于Python中Django與Echarts的結(jié)合用法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-10-10OpenCV+MediaPipe實現(xiàn)手部關(guān)鍵點識別
這篇文章主要介紹了如何通過OpenCV MediaPipe實現(xiàn)手部關(guān)鍵點識別,文中的示例代碼講解詳細,對我們學(xué)習(xí)或工作有一定的價值,需要的可以參考一下2022-01-01Python爬蟲庫requests獲取響應(yīng)內(nèi)容、響應(yīng)狀態(tài)碼、響應(yīng)頭
上一節(jié)我們給大家介紹了Python爬蟲庫requests的發(fā)送請求傳參等使用方法,今天為大家介紹下requests獲取響應(yīng)內(nèi)容、響應(yīng)狀態(tài)碼、響應(yīng)頭等相關(guān)信息2020-01-01