python之OS模組

來源:互聯網
上載者:User

標籤: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模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.