Python編程基礎(chǔ)(第3版)(微課版)課件 7.2 讀寫TXT文件(一)_第1頁
Python編程基礎(chǔ)(第3版)(微課版)課件 7.2 讀寫TXT文件(一)_第2頁
Python編程基礎(chǔ)(第3版)(微課版)課件 7.2 讀寫TXT文件(一)_第3頁
Python編程基礎(chǔ)(第3版)(微課版)課件 7.2 讀寫TXT文件(一)_第4頁
Python編程基礎(chǔ)(第3版)(微課版)課件 7.2 讀寫TXT文件(一)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

讀寫TXT文件1使用with語句讀取文件目錄讀取整個文件2設(shè)置工作路徑3讀寫文件是最常用的I/O操作,Python內(nèi)置了讀寫文件的函數(shù),其用法與C語言中的用法兼容。在讀寫文件之前,必須說明的是,在磁盤上讀取文件的功能是由操作系統(tǒng)提供的。因為現(xiàn)在的操作系統(tǒng)不允許普通的操作程序直接操作磁盤,所以讀寫文件就是請求操作系統(tǒng)打開一個文件對象(通常稱為文件描述符),然后通過操作系統(tǒng)提供的接口從這個文件對象中讀取數(shù)據(jù)(讀文件),或?qū)?shù)據(jù)寫入打開的文件對象(寫文件)。讀取整個文件具體流程如圖。讀取整個文件若要讀取文件,則需要先創(chuàng)建一個文件。下面是關(guān)于車載液氫系統(tǒng)“賽道1000”的相關(guān)內(nèi)容,如下所示。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。讀取整個文件要以讀文件的方式打開一個文件對象,可以使用Python的內(nèi)置函數(shù)open傳入文件名與標(biāo)識符。其中,標(biāo)識符可指定文件打開模式為讀取模式(r)、寫入模式(w)、附加模式(a)或讀取和寫入模式(r+)。Python默認(rèn)以讀取模式打開文件,代碼如下。如果讀取的文件不存在,或在當(dāng)前工作路徑下找不到要讀取的文件,那么open函數(shù)將會拋出一個IOError錯誤,并且給出錯誤碼和詳細(xì)的信息以說明文件不存在,代碼如下。讀取整個文件>>>f=open('../data/science.txt','r',encoding='utf-8')>>>f=open('not_exist.txt','r')FileNotFoundError:[Errno2]Nosuchfileordirectory:'not_exist.txt'如果文件存在且程序可以正常打開文件,那么即可使用read函數(shù)一次性讀取文件的全部內(nèi)容,并將文件內(nèi)容讀入內(nèi)存,然后使用print函數(shù)將讀取的文件內(nèi)容輸出,代碼如下。讀取整個文件>>>#打開science.txt文件并定義對象f>>>f=open('../data/science.txt','r',encoding='utf-8')>>>txt=f.read()#讀取文件science.txt的內(nèi)容并賦值給變量txt>>>print(txt)#輸出文件science.txt的內(nèi)容輸出結(jié)果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。文件使用完畢后必須關(guān)閉文件,這是因為文件對象會占用操作系統(tǒng)的資源,且操作系統(tǒng)在同一時間內(nèi)能打開的文件數(shù)量是有限的。調(diào)用close函數(shù)關(guān)閉文件,代碼如下。讀取整個文件>>>f.close()1使用with語句讀取文件目錄讀取整個文件23設(shè)置工作路徑在文件讀取的過程中,一旦程序拋出IOError錯誤,后面的close函數(shù)將不會再被調(diào)用。因此,在程序運行過程中,無論程序是否出錯,都要確保程序能正常關(guān)閉文件,可以使用try-finally結(jié)構(gòu)來實現(xiàn),代碼如下。使用with語句讀取文件>>>try:...f=open('../data/science.txt','r',encoding='utf-8')...print(f.read())...finally:...if'f'inlocals()andnotf.closed:#檢查f是否在局部變量中且未被關(guān)閉...f.close()輸出結(jié)果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。使用with語句讀取文件由上一段代碼可以知道,雖然程序運行良好,但是在每次讀取文件的時候,都需要編寫try-finally結(jié)構(gòu),會使代碼顯得冗余。為此,Python提供了更加優(yōu)雅簡潔的語法——with語句。用with語句可以較好地處理上下文環(huán)境產(chǎn)生的異常,并自動調(diào)用close函數(shù),代碼如下。使用with語句讀取文件>>>withopen('../data/science.txt','r',encoding='utf-8')asf:...print(f.read())輸出結(jié)果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。在上面的代碼中,with語句的使用效果與try-finally結(jié)構(gòu)的使用效果一樣,但使用with語句的代碼更為簡潔,且不必手動調(diào)用close函數(shù)。使用with語句讀取文件1使用with語句讀取文件目錄讀取整個文件2設(shè)置工作路徑3如果文件夾text_file是文件夾code的子文件夾,即文件夾text_file在文件夾code中,那么需要提供相對文件路徑讓Python到指定位置查找文件,而該位置是相對于當(dāng)前運行程序所在的目錄而言的,即相對文件路徑,代碼如下。1.相對文件路徑>>>withopen('text_file\science.txt','r',encoding='utf-8')asf:...print(f.read())中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。如果文件夾text_file位于桌面,與文件夾code無關(guān),那么要訪問science.txt文件就需要提供完整的、準(zhǔn)確的存儲位置(即絕對文件路徑)給程序,不需要考慮當(dāng)前運行程序的存儲位置,代碼如下。2.絕對文件路徑>>>withopen(r'C:\Users\Administrator\Desktop\text_file\science.txt',...'r',encoding='utf-8')asf:...print(f.read())中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。由上面的代碼可知,在絕對文件路徑前面需要添加字符“r”,原因是在Window系統(tǒng)下,讀取文件可以使用反斜線,但是在字符串中反斜線會被當(dāng)作轉(zhuǎn)義符來使用,使得文件路徑可能會被轉(zhuǎn)義。因此,需要在絕對文件路徑前添加字符“r”,聲明字符串不用轉(zhuǎn)義。同時,路徑也可以采用雙反斜線(\\)方式表示,此時則不需要聲明,代碼如下。2.絕對文件路徑>>>withopen('C:\\Users\\Administrator\\Desktop\\text_file\\science.txt',...'r',encoding='utf-8')asf:...print(f.read())輸出結(jié)果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統(tǒng)“賽道1000”是液氫重卡的核心設(shè)備之一,將助力氫能重卡突破1000km續(xù)航里程,是我國將液氫應(yīng)用于交通運輸領(lǐng)域的重大技術(shù)突破。該系統(tǒng)采用正向設(shè)計和模塊化理念,通過對“儲供加流程”深度優(yōu)化整合,構(gòu)建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結(jié)構(gòu)五大模塊,零部件全部實現(xiàn)國產(chǎn)化配套,核心技術(shù)自主可控。相比上一代產(chǎn)品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質(zhì)量儲氫密度達到12%,整體系統(tǒng)儲氫密度超過10%。2.絕對文件路徑路徑也可以使用正斜線方式表示,代碼如下。2.絕對文件路徑>>>withopen('C:/Users/Administrator/Desktop/text_file/science.txt',...'r',encoding='utf-8')asf:...print(f.read())中國航天科技集團六院101所自

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論