《Python程序設(shè)計項目案例教程》課件 第6章 文件與文件夾操作_第1頁
《Python程序設(shè)計項目案例教程》課件 第6章 文件與文件夾操作_第2頁
《Python程序設(shè)計項目案例教程》課件 第6章 文件與文件夾操作_第3頁
《Python程序設(shè)計項目案例教程》課件 第6章 文件與文件夾操作_第4頁
《Python程序設(shè)計項目案例教程》課件 第6章 文件與文件夾操作_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第6章文件與文件夾操作王小寧目錄Contents2文件操作011.文件介紹文件是在操作系統(tǒng)中管理用戶數(shù)據(jù)的基本單元,其最底層是二進制文件。常見的文件類型有文本文件(.txt)、文檔文件(.docx)、表格文件(.xlsx)、圖像文件(.jpg、.png)、音頻文件(.wma、.mp4、.wav)、視頻文件(.avi、.mp4)等,所有的文件類型均可以作為二進制文件進行讀寫。二進制文件無法用記事本或其他普通字處理軟件正常進行編輯,人類也無法直接閱讀和理解,需要使用正確的軟件進行解碼或反序列化之后才能正確地讀取、顯示、修改或執(zhí)行。文本文件是占用內(nèi)存較小的一種文件類型,以文本形式存儲數(shù)據(jù)的文件,通常包含人類可讀的字符和文本信息,在眾多文件類型中使用較多。2.文件操作函數(shù)open()open()函數(shù)的基本語法為:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)其中,參數(shù)說明如下:File:要打開的文件路徑。mode:打開文件的模式,可以是只讀、寫入、追加等模式,默認為“r”,即只讀模式。buffering:設(shè)置緩沖策略,默認值為-1,表示使用系統(tǒng)默認緩沖區(qū)大小。encoding:指定文件編碼格式,默認為None,即使用系統(tǒng)默認編碼。errors:指定編碼錯誤處理方式,默認為None。newline:指定寫入文件時的換行符,默認為None。closefd:指定是否在close()時同時關(guān)閉底層的文件描述符,默認為True。opener:指定自定義的打開器,用于打開文件(比如說打開加密文件)。2.文件操作函數(shù)open()mode的參數(shù)如表6-1所示。模式說明延伸模式讀取文本文件r只讀模式(默認模式,可省略),要求文件存在r+,支持讀寫,文件指針將會放在文件的開頭。w寫模式,如果該文件已存在則將其覆蓋,如果該文件不存在,創(chuàng)建新文件w+,支持讀寫,如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。a追加模式,如果該文件已存在,文件指針將會放在文件的結(jié)尾,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入a+,支持讀寫,如果該文件已存在,文件指針將會放在文件的結(jié)尾。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。讀取二進制文件rb二進制文件只讀模式,不需要encoding參數(shù),要求文件存在rb+,支持讀寫,文件指針將會放在文件的開頭。wb二進制文件寫模式,如果該文件已存在則將其覆蓋,如果該文件不存在,創(chuàng)建新文件wb+,支持讀寫,如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。ab二進制文件追加模式,如果該文件已存在,文件指針將會放在文件的結(jié)尾,新的內(nèi)容將會被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進行寫入ab+,支持讀寫,如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。3.

文件對象的屬性和方法文件的常用屬性有closed、mode和name。屬性意義closed返回文件是否已經(jīng)關(guān)閉,返回True表示已經(jīng)關(guān)閉,返回False表示未關(guān)閉mode返回文件的打開模式name返回文件名3.

文件對象的屬性和方法程序正常讀取文件后,一般要對文件中的內(nèi)容進行讀取或?qū)懭耄虼?,我們還需要了解文件的操作方法。方法功能說明f.close()關(guān)閉文件,釋放文件對象f.read(n)讀取并返回整個文件內(nèi)容,如果給出參數(shù),返回前n個字符f.readline()讀取并返回指針后的一行內(nèi)容f.readlines()讀取并返回包含文本文件中指針后所有行內(nèi)容的列表f.write(s)把s的內(nèi)容寫入文件f.writelines(s)把列表s中的所有字符串寫入文本文件f.tell()返回指針的當(dāng)前位置f.seek(offset,[whence])把指針移動到新的位置(以字節(jié)為單位),offset表示相對于whence的位置。為0表示從文件頭開始計算,為1表示當(dāng)前位置,2表示文件末尾,默認03.

文件對象的屬性和方法上下文管理語句with可以自動管理資源,不論因為什么原因跳出with塊,總能保證文件被正確關(guān)閉。with語句的語法形式如下:withopen(filename,mode,encoding)asf:#這里寫通過文件對象f讀寫文件內(nèi)容的語句使用with語句時,自帶了關(guān)閉文件的功能,因此可以省略f.close()語句。文件夾操作021.os模塊os模塊的常用方法如表6-4所示。方法功能描述chdir(path)切換到指定目錄getcwd()獲取當(dāng)前目錄listdir(path)獲取當(dāng)前目錄下的文件信息mkdir(path)創(chuàng)建文件夾remove(path)刪除指定文件rmdir(path)刪除空的文件夾rename(old,new)重命名文件或文件夾system(command)運行系統(tǒng)的shell命令walk(path)遞歸返回指定目錄下的所有子目錄,并且是由path、子目錄、文件組成的三元組1.os模塊os模塊的常用屬性,如表6-5所示。屬性含義描述os.sep表示路徑中的分隔符,在Windows中是'\',在Linux/Unix中是'/'os.linesep表示行終止符,在Windows中是'\r\n',在Linux/Unix中是'\n'表示操作系統(tǒng)的名稱2.os.path模塊os.path模塊的常用方法如表6-6所示。方法功能說明abspath(path)返回給定路徑的絕對路徑basename(path)返回指定路徑的最后一個組成部分dirname(path)返回給定路徑的文件夾部分exists(path)判斷文件是否存在getatime(filename)返回文件的最后訪問時間getctime(filename)返回文件的創(chuàng)建時間getmtime(filename)返回文件的最后修改時間getsize(filename)返回文件的大小isdir(path)判斷path是否為文件夾isfile(path)判斷p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論