《Python程序設(shè)計(jì)案例教程》 課件 單元7 文件操作_第1頁(yè)
《Python程序設(shè)計(jì)案例教程》 課件 單元7 文件操作_第2頁(yè)
《Python程序設(shè)計(jì)案例教程》 課件 單元7 文件操作_第3頁(yè)
《Python程序設(shè)計(jì)案例教程》 課件 單元7 文件操作_第4頁(yè)
《Python程序設(shè)計(jì)案例教程》 課件 單元7 文件操作_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Python編程基礎(chǔ)文件操作3文件是指存儲(chǔ)在外部介質(zhì)上有序的數(shù)據(jù)集合,這個(gè)數(shù)據(jù)集有一個(gè)名稱(chēng),稱(chēng)為文件名。根據(jù)數(shù)據(jù)的邏輯存儲(chǔ)結(jié)構(gòu),人們將計(jì)算機(jī)中的文件分為文本文件和二進(jìn)制文件兩大類(lèi)。文本文件是指專(zhuān)門(mén)存儲(chǔ)文本字符數(shù)據(jù),一般由單一特定編碼的字符組成,如UTF-8編碼,內(nèi)容容易統(tǒng)一展示和閱讀。二進(jìn)制文件是指不能直接使用文字處理程序正常讀寫(xiě),必須先了解其結(jié)構(gòu)和序列化規(guī)則,再設(shè)計(jì)正確的反序列化規(guī)則,才能正確獲取文件信息。他直接由比特0和比特1組成,沒(méi)有統(tǒng)一字符編碼,文件內(nèi)部數(shù)據(jù)的組織格式與文件用途有關(guān)。引入文件的打開(kāi)、關(guān)閉與讀寫(xiě)是文件的基礎(chǔ)操作,任何更復(fù)雜的文件操作都離不開(kāi)這些基本操作。文件操作在Python中,使用open()函數(shù),可以打開(kāi)一個(gè)已經(jīng)存在的文件,或者創(chuàng)建一個(gè)新文件。該函數(shù)的語(yǔ)法格式如下所示。open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)其中,file參數(shù)指定了被打開(kāi)的文件名稱(chēng),文件名也可包含文件路徑。mode參數(shù)指定了打開(kāi)文件后的處理方式。buffering參數(shù)指定了訪問(wèn)文件的緩沖方式。encoding參數(shù)指定對(duì)文本進(jìn)行編碼和解碼的方式。打開(kāi)文件模式說(shuō)明r讀模式(默認(rèn)模式,可省略),如果文件不存在則拋出異常w寫(xiě)模式,如果文件已存在,先清空原有內(nèi)容x寫(xiě)模式,創(chuàng)建新文件,如果文件已存在則拋出異常a追加模式,不覆蓋文件中原有內(nèi)容b二進(jìn)制模式(可與其他模式組合使用)t文本模式(默認(rèn)模式,可省略)+讀、寫(xiě)模式(可與其他模式組合使用)表文件打開(kāi)模式和說(shuō)明【例】打開(kāi)文件。file1=open('E:\\a.txt') #以只讀方式打開(kāi)E盤(pán)的文本文件a.txtfile2=open('b.txt',mode='w') #以只寫(xiě)方式打開(kāi)當(dāng)前目錄的文本文件b.txtfile3=open('c.txt',mode='w+') #以讀/寫(xiě)方式打開(kāi)文本文件c.txtfile4=open('d.txt',mode='wb+')#以讀/寫(xiě)方式打開(kāi)二進(jìn)制文件d.txt打開(kāi)文件Python可通過(guò)close()方法關(guān)閉文件,也可以使用with語(yǔ)句實(shí)現(xiàn)文件的自動(dòng)關(guān)閉。使用close()函數(shù)關(guān)閉文件語(yǔ)法格式如下所示。文件對(duì)象名.close()關(guān)閉文件在Python中,使用with語(yǔ)句可用于對(duì)資源進(jìn)行訪問(wèn),保證不管處理過(guò)程中是否發(fā)生錯(cuò)誤或者異常,都會(huì)執(zhí)行規(guī)定的清理操作,釋放被訪問(wèn)的資源。其基本語(yǔ)法格式如下所示。withcontext_expression[astarget(s)]:with-body#執(zhí)行代碼其中,context_expression是指表達(dá)式;target(s)是指對(duì)象名?!纠渴褂脀ith語(yǔ)句實(shí)現(xiàn)文件的自動(dòng)關(guān)閉。withopen('a.txt')asf:pass#一些操作關(guān)閉文件Python提供了一系列寫(xiě)文件的方法,比如write()和writelines()。(1)write()方法write()方法用于向文件中寫(xiě)入指定字符串,其語(yǔ)法格式如下所示。文件對(duì)象名.write(str)【例】用write()方法向文件“a.txt”文件中寫(xiě)入"HelloPython!"數(shù)據(jù)。string="HelloPython!" #字符串withopen('a.txt',mode='w',encoding='utf-8')asf: size=f.write(string) #寫(xiě)入字符串

print(size) #打印字節(jié)數(shù)【運(yùn)行結(jié)果】13【a.txt文件內(nèi)容】HelloPython!寫(xiě)文件Python提供了一系列寫(xiě)文件的方法,比如write()和writelines()。(2)writelines()writelines()方法用于將行列表寫(xiě)入文件,其語(yǔ)法格式如下所示。文件對(duì)象名.writelines(lines)【例】使用writelines()方法向已有的“a.txt”文件中寫(xiě)入數(shù)據(jù)。string="HelloJava!\nHelloPython!"#字符串withopen('a.txt',mode='w',encoding='utf-8')asf:f.writelines(string)#寫(xiě)入字符串【運(yùn)行程序,打開(kāi)a.txt文件結(jié)果】HelloJava!HelloPython!寫(xiě)文件Python提供了一系列讀取文件的方法,比如read()、readline()和readlines()。(1)read()方法read()方法用于從文件中讀取指定的字節(jié)數(shù),如果未給定參數(shù)或參數(shù)為負(fù),則讀取整個(gè)文件內(nèi)容,其語(yǔ)法格式如下所示。文件對(duì)象名.read([size])其中,size為從文件中讀取的字節(jié)數(shù);該方法返回從文件中讀取的字符串。【例】使用read()方法讀取“test.txt”文件內(nèi)容。withopen('test.txt',mode='r')asf:print(f.read(5)) #讀取5個(gè)字節(jié)的數(shù)據(jù)

print(f.read()) #讀取剩余的全部數(shù)據(jù)注意:如果多次使用讀方法,那么后面讀取的數(shù)據(jù)是從上次讀完后的位置開(kāi)始的。讀取文件Python提供了一系列讀取文件的方法,比如read()、readline()和readlines()。(2)readline()方法readline()方法用于從文件中讀取整行,包括“\n”字符。如果指定了一個(gè)非負(fù)數(shù)的參數(shù),則表示讀入指定大小的字符串,其語(yǔ)法格式如下所示。文件對(duì)象名.readline()(3)readlines()readlines()方法可以一次讀取文件中的所有數(shù)據(jù),若讀取成功,該方法會(huì)返回一個(gè)列表,列表中每個(gè)元素為文件中的一行數(shù)據(jù),其語(yǔ)法格式如下所示。文件對(duì)象名.readlines()注意:以上介紹的3個(gè)方法中,read()方法在參數(shù)缺省時(shí)和readlines()方法都可一次讀取文件中的全部數(shù)據(jù),但因?yàn)橛?jì)算機(jī)的內(nèi)存是有限的,若文件較大,read()和readlines()的一次讀取便會(huì)耗盡系統(tǒng)內(nèi)存,所以這兩種操作都不夠安全。為了保證讀取安全,通常多次調(diào)用read()方法,每次讀取size大小字節(jié)的數(shù)據(jù)。讀取文件感謝您的觀看Python編程基礎(chǔ)任務(wù)1制作學(xué)生信息管理系統(tǒng)隨著時(shí)代的發(fā)展,學(xué)生信息化管理已經(jīng)成為了一個(gè)必不可少的重要環(huán)節(jié)。信息的持久化存儲(chǔ)可以更長(zhǎng)期高效地收集、管理和分析學(xué)生信息。因此,學(xué)生信息管理系統(tǒng)除了具有添加學(xué)生信息、刪除學(xué)生信息、修改學(xué)生信息和顯示所有學(xué)生信息等基本功能,同時(shí)還應(yīng)增加保存學(xué)生信息到文件的功能和從文件中讀取學(xué)生信息到程序的功能。本任務(wù)將帶領(lǐng)大家編寫(xiě)Python程序,利用Python的文件操作制作學(xué)生信息管理系統(tǒng)。16任務(wù)描述學(xué)生系信息管理系統(tǒng)的功能需求--能夠提示用戶(hù)選擇功能操作--能夠獲取用戶(hù)選擇的功能并實(shí)現(xiàn)對(duì)應(yīng)功能

1.添加學(xué)生信息2.刪除學(xué)生信息3.顯示所有學(xué)生信息4.保存學(xué)生數(shù)據(jù)到文件5.從文件中恢復(fù)學(xué)生數(shù)據(jù)到程序17任務(wù)實(shí)施1.定義列表元素stuInfos,保存學(xué)生的所有信息。2.定義顯示菜單列表的函數(shù)printMenu(),打印功能提示。18任務(wù)實(shí)施3.定義函數(shù)addStuInfo(),delStuInfo(),showStuInfo()分別實(shí)現(xiàn)添加學(xué)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論