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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論