標籤:python linux 根目錄 防偽 管道
防偽碼:忘情公子著
上一章講的是python的檔案對象,python的檔案對象只能對普通檔案以及某些特殊檔案(如通訊端、管道等)進行操作,而無法對目錄進行操作。目錄是屬於檔案系統的組成部分而不是檔案內容的組成部分,而在python中,如果要與檔案系統打交道,則要使用檔案系統功能,也就是本章要說的OS模組。
OS模組中的一些方法,其實就是把linux系統中的一些api給封裝成了python的api,在python中可以直接調用。按檔案系統的類型可以將這些api分為以下幾種:
與目錄相關:
chdir():改變當前工作目錄,相當於linux中的cd命令
chroot():設定當前進程的根目錄
listdir():列出指定目錄下的所有檔案名稱
mkdir():建立指定目錄
makedirs():建立多級目錄
getcwd():擷取當前工作目錄
rmdir():刪除目錄
removedirs():刪除多級目錄
與檔案相關:
mkfifo():建立具名管道
mknod():建立裝置檔案
remove():刪除檔案
unlink():刪除連結檔案
rename():重新命名
stat():返迴文件狀態資訊
symlink():建立檔案連結
utime():更新時間戳記
tmpfile():以(w+b)模式建立並開啟一個新的臨時檔案
walk():分類樹產生器,相當於linux中的tree命令
與存取權限相關:
access():判定指定使用者對某檔案是否有存取權限,只能用uid和gid來表示使用者和組
chmod():修改許可權
chown():修改屬主屬組,只能用udi和gid來表示使用者和組
umask():設定預設許可權遮罩碼
與檔案描述符相關:
open():底層作業系統的open,可以理解為調用linux系統中C庫中的open來開啟檔案
read():根據檔案描述符來讀
write():根據檔案描述符來寫
os.path:實現檔案路徑本身這個字串的管理
basename():擷取路徑檔案基名
dirname():擷取路徑目錄名
join():將多個離散的檔案路徑整合成一個完整的路徑
split():分割檔案名稱,返回dirname(),basename()結果的元組
splitext():返回(filename,extension)元組,把檔案名稱和副檔名切割開來
檔案資訊:
getatime():返回指定檔案的最近一次的訪問時間
getctime():返回指定檔案的最近一次的屬性修改時間
getmtime():返回指定檔案的最近一次的內容修改時間
getsize():返迴文件的大小
判斷查詢:
exists():判斷指定檔案是否存在
isabs():判斷指定的路徑是否為絕對路徑
isdir():判斷指定的檔案是否存在且為目錄
isfile():判斷指定的檔案是否存在且為檔案
islink():判斷指定的檔案是否為符號連結
ismount():判斷指定路徑是否為掛載點
samefile():判斷兩個路徑是否指向了同一個檔案
在python中,無法直接將一個字典寫入普通檔案中,要想把字典寫入普通檔案,必須把字典物件流程式化,在必要的時候還要能把它還原回原來的字典格式,而能夠實現這個功能的模式有2種,這個過程被稱作檔案的持久儲存。
對象持久儲存:
pickle模組
dump():將Object Storage Service到磁碟檔案中
load():將指定的磁碟檔案載入進某變數中
marshal模組
pickle模組和marshal模組都是將內容、Object Storage Service在檔案中。在python中還可以使用DBM介面將資料存放區在資料庫中。但是DBM介面僅僅只是讓python能夠將資料存放區進資料庫中,卻無法實現流式化,如果既想實現流式化又想往資料庫中儲存則應使用shelve模組
這就是python中的OS模組常用的方法,僅以此篇作為python學習成長記錄。
本文出自 “忘情博” 部落格,請務必保留此出處http://itchentao.blog.51cto.com/5168625/1883778
python之OS模組