文件 課件- 高中信息技術(shù)浙教版(2019)必修1_第1頁
文件 課件- 高中信息技術(shù)浙教版(2019)必修1_第2頁
文件 課件- 高中信息技術(shù)浙教版(2019)必修1_第3頁
文件 課件- 高中信息技術(shù)浙教版(2019)必修1_第4頁
文件 課件- 高中信息技術(shù)浙教版(2019)必修1_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

10、文件3.2Python語言程序設(shè)計(jì)Pythonopen()方法用于打開一個(gè)文件,并返回文件對(duì)象,在對(duì)文件進(jìn)行處理過程都需要使用到這個(gè)函數(shù),如果該文件無法被打開,會(huì)拋出OSError。注意:使用open()方法一定要保證關(guān)閉文件對(duì)象,即調(diào)用close()方法。open()函數(shù)常用形式是接收兩個(gè)參數(shù):文件名(file)和模式(mode)。open(file,mode='r')讀和寫文件filen:包含了你要訪問的文件名稱的字符串值。mode:決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀(r)。完整的語法格式為:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)參數(shù)說明:file:必需,文件路徑(相對(duì)或者絕對(duì)路徑)。mode:可選,文件打開模式buffering:設(shè)置緩沖encoding:一般使用utf8errors:報(bào)錯(cuò)級(jí)別newline:區(qū)分換行符closefd:傳入的file參數(shù)類型opener:設(shè)置自定義開啟器,開啟器的返回值必須是一個(gè)打開的文件描述符。讀和寫文件讀和寫文件模式描述'r'以只讀方式打開文件(默認(rèn))'w'以只寫方法打開文件。若文件不存在,則新建文件;如果文件已存在,則清空文件原有內(nèi)容'x'以獨(dú)占只寫方式打開文件。若文件不存在,則新建文件;如果文件已存在,則拋出FileExistsError異常'a'以只寫方法打開文件。若文件不存在,則新建文件;如果文件已存在,在文件原有內(nèi)容末尾追加內(nèi)容'b'二進(jìn)制文件模式't'文本文件模式(默認(rèn))'+'更新(讀寫)方式打開文件mode參數(shù)有:默認(rèn)為文本模式,如果要以二進(jìn)制模式打開,加上b。讀和寫文件讀和寫文件以下實(shí)例將字符串寫入到文件foo.txt中:#打開一個(gè)文件f=open("/tmp/foo.txt","w")f.write("Python是一個(gè)非常好的語言。\n是的,的確非常好!!\n")#關(guān)閉打開的文件f.close()第一個(gè)參數(shù)為要打開的文件名。第二個(gè)參數(shù)描述文件如何使用的字符。mode可以是'r'如果文件只讀,'w'只用于寫(如果存在同名文件則將被刪除),和'a'用于追加文件內(nèi)容;所寫的任何數(shù)據(jù)都會(huì)被自動(dòng)增加到末尾.'r+'同時(shí)用于讀寫。mode參數(shù)是可選的;'r'將是默認(rèn)值。讀和寫文件此時(shí)打開文件foo.txt,顯示如下:$cat/tmp/foo.txtPython是一個(gè)非常好的語言。是的,的確非常好!!file對(duì)象的方法file對(duì)象使用open函數(shù)來創(chuàng)建,下表列出了file對(duì)象常用的函數(shù):序號(hào)方法及描述1file.close()關(guān)閉文件。關(guān)閉后文件不能再進(jìn)行讀寫操作。2file.read([size])從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。3file.readline([size])讀取整行,包括"\n"字符。4file.readlines([sizeint])讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節(jié)的行,實(shí)際讀取值可能比sizeint較大,因?yàn)樾枰畛渚彌_區(qū)。5file.write(str)將字符串寫入文件,返回的是寫入的字符長度。6file.writelines(sequence)向文件寫入一個(gè)序列字符串列表,如果需要換行則要自己加入每行的換行符。f.read()為了讀取一個(gè)文件的內(nèi)容,調(diào)用f.read(size),這將讀取一定數(shù)目的數(shù)據(jù),然后作為字符串或字節(jié)對(duì)象返回。size是一個(gè)可選的數(shù)字類型的參數(shù)。當(dāng)size被忽略了或者為負(fù),那么該文件的所有內(nèi)容都將被讀取并且返回。以下實(shí)例假定文件foo.txt已存在(上面實(shí)例中已創(chuàng)建):#打開一個(gè)文件f=open("/tmp/foo.txt","r")str=f.read()print(str)#關(guān)閉打開的文件f.close()執(zhí)行以上程序,輸出結(jié)果為:Python是一個(gè)非常好的語言。是的,的確非常好!!假設(shè)已經(jīng)創(chuàng)建了一個(gè)稱為f的文件對(duì)象。f.readline()f.readline()會(huì)從文件中讀取單獨(dú)的一行。換行符為'\n'。f.readline()如果返回一個(gè)空字符串,說明已經(jīng)已經(jīng)讀取到最后一行。#打開一個(gè)文件f=open("/tmp/foo.txt","r")str=f.readline()print(str)#關(guān)閉打開的文件f.close()執(zhí)行以上程序,輸出結(jié)果為:Python是一個(gè)非常好的語言。f.readlines()f.readlines()將返回該文件中包含的所有行。如果設(shè)置可選參數(shù)sizehint,則讀取指定長度的字節(jié),并且將這些字節(jié)按行分割。#打開一個(gè)文件f=open("/tmp/foo.txt","r")str=f.readlines()print(str)#關(guān)閉打開的文件f.close()執(zhí)行以上程序,輸出結(jié)果為:['Python是一個(gè)非常好的語言。\n','是的,的確非常好!!\n']f.readlines()另一種方式是迭代一個(gè)文件對(duì)象然后讀取每行:#打開一個(gè)文件f=open("/tmp/foo.txt","r")forlineinf:print(line,end='')#關(guān)閉打開的文件f.close()執(zhí)行以上程序,輸出結(jié)果為:Python是一個(gè)非常好的語言。是的,的確非常好!!這個(gè)方法很簡單,但是并沒有提供一個(gè)很好的控制。因?yàn)閮烧叩奶幚頇C(jī)制不同,最好不要混用。f.write()f.write(string)將string寫入到文件中,然后返回寫入的字符數(shù)。#打開一個(gè)文件f=open("/tmp/foo.txt","w")num=f.write("Python是一個(gè)非常好的語言。\n是的,的確非常好!!\n")print(num)#關(guān)閉打開的文件f.close()執(zhí)行以上程序,輸出結(jié)果為:29f.write()如果要寫入一些不是字符串的東西,那么將需要先進(jìn)行轉(zhuǎn)換:#打開一個(gè)文件f=open("/tmp/foo1.txt","w")value=('',14)s=str(value)f.write(s)#關(guān)閉打開的文件f.close()執(zhí)行以上程序,打開foo1.txt文件:$cat/tmp/foo1.txt('',14)f.close()在文本文件中(那些打開文件的模式下沒有b的),只會(huì)相對(duì)于文件起始位置進(jìn)行定位。當(dāng)你處理完一個(gè)文件后,調(diào)用f.close()來關(guān)閉文件并釋放系統(tǒng)的資源,如果嘗試再調(diào)用該文件,則會(huì)拋出異常。>>>f.close()>>>f.read()Traceback(mostrecentcalllast):File"<stdin>",line1,in?ValueError:I/Ooperationonclosedfile

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論