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

下載本文檔

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

文檔簡介

讀寫TXT文件1使用with語句讀取文件目錄讀取整個文件2設置工作路徑3讀寫文件是最常用的I/O操作,Python內置了讀寫文件的函數,其用法與C語言中的用法兼容。在讀寫文件之前,必須說明的是,在磁盤上讀取文件的功能是由操作系統提供的。因為現在的操作系統不允許普通的操作程序直接操作磁盤,所以讀寫文件就是請求操作系統打開一個文件對象(通常稱為文件描述符),然后通過操作系統提供的接口從這個文件對象中讀取數據(讀文件),或將數據寫入打開的文件對象(寫文件)。讀取整個文件具體流程如圖。讀取整個文件若要讀取文件,則需要先創建一個文件。下面是關于車載液氫系統“賽道1000”的相關內容,如下所示。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。讀取整個文件要以讀文件的方式打開一個文件對象,可以使用Python的內置函數open傳入文件名與標識符。其中,標識符可指定文件打開模式為讀取模式(r)、寫入模式(w)、附加模式(a)或讀取和寫入模式(r+)。Python默認以讀取模式打開文件,代碼如下。如果讀取的文件不存在,或在當前工作路徑下找不到要讀取的文件,那么open函數將會拋出一個IOError錯誤,并且給出錯誤碼和詳細的信息以說明文件不存在,代碼如下。讀取整個文件>>>f=open('../data/science.txt','r',encoding='utf-8')>>>f=open('not_exist.txt','r')FileNotFoundError:[Errno2]Nosuchfileordirectory:'not_exist.txt'如果文件存在且程序可以正常打開文件,那么即可使用read函數一次性讀取文件的全部內容,并將文件內容讀入內存,然后使用print函數將讀取的文件內容輸出,代碼如下。讀取整個文件>>>#打開science.txt文件并定義對象f>>>f=open('../data/science.txt','r',encoding='utf-8')>>>txt=f.read()#讀取文件science.txt的內容并賦值給變量txt>>>print(txt)#輸出文件science.txt的內容輸出結果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。文件使用完畢后必須關閉文件,這是因為文件對象會占用操作系統的資源,且操作系統在同一時間內能打開的文件數量是有限的。調用close函數關閉文件,代碼如下。讀取整個文件>>>f.close()1使用with語句讀取文件目錄讀取整個文件23設置工作路徑在文件讀取的過程中,一旦程序拋出IOError錯誤,后面的close函數將不會再被調用。因此,在程序運行過程中,無論程序是否出錯,都要確保程序能正常關閉文件,可以使用try-finally結構來實現,代碼如下。使用with語句讀取文件>>>try:...f=open('../data/science.txt','r',encoding='utf-8')...print(f.read())...finally:...if'f'inlocals()andnotf.closed:#檢查f是否在局部變量中且未被關閉...f.close()輸出結果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。使用with語句讀取文件由上一段代碼可以知道,雖然程序運行良好,但是在每次讀取文件的時候,都需要編寫try-finally結構,會使代碼顯得冗余。為此,Python提供了更加優雅簡潔的語法——with語句。用with語句可以較好地處理上下文環境產生的異常,并自動調用close函數,代碼如下。使用with語句讀取文件>>>withopen('../data/science.txt','r',encoding='utf-8')asf:...print(f.read())輸出結果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。在上面的代碼中,with語句的使用效果與try-finally結構的使用效果一樣,但使用with語句的代碼更為簡潔,且不必手動調用close函數。使用with語句讀取文件1使用with語句讀取文件目錄讀取整個文件2設置工作路徑3如果文件夾text_file是文件夾code的子文件夾,即文件夾text_file在文件夾code中,那么需要提供相對文件路徑讓Python到指定位置查找文件,而該位置是相對于當前運行程序所在的目錄而言的,即相對文件路徑,代碼如下。1.相對文件路徑>>>withopen('text_file\science.txt','r',encoding='utf-8')asf:...print(f.read())中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。如果文件夾text_file位于桌面,與文件夾code無關,那么要訪問science.txt文件就需要提供完整的、準確的存儲位置(即絕對文件路徑)給程序,不需要考慮當前運行程序的存儲位置,代碼如下。2.絕對文件路徑>>>withopen(r'C:\Users\Administrator\Desktop\text_file\science.txt',...'r',encoding='utf-8')asf:...print(f.read())中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過10%。由上面的代碼可知,在絕對文件路徑前面需要添加字符“r”,原因是在Window系統下,讀取文件可以使用反斜線,但是在字符串中反斜線會被當作轉義符來使用,使得文件路徑可能會被轉義。因此,需要在絕對文件路徑前添加字符“r”,聲明字符串不用轉義。同時,路徑也可以采用雙反斜線(\\)方式表示,此時則不需要聲明,代碼如下。2.絕對文件路徑>>>withopen('C:\\Users\\Administrator\\Desktop\\text_file\\science.txt',...'r',encoding='utf-8')asf:...print(f.read())輸出結果如下。中國航天科技集團六院101所自主研制的我國首款百公斤級車載液氫系統“賽道1000”是液氫重卡的核心設備之一,將助力氫能重卡突破1000km續航里程,是我國將液氫應用于交通運輸領域的重大技術突破。該系統采用正向設計和模塊化理念,通過對“儲供加流程”深度優化整合,構建了液氫氣瓶、閥箱、汽化緩沖、控制、承力結構五大模塊,零部件全部實現國產化配套,核心技術自主可控。相比上一代產品,“賽道1000”在相同外廓尺寸下,有效容積增大20%,攜氫量提升至百公斤級,液氫氣瓶質量儲氫密度達到12%,整體系統儲氫密度超過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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論