資源簡介 (共26張PPT)Python文件操作(一)課前回顧1、多態多態指的是一類事物有多種形態,(一個類有多個子類,因而多態的概念依賴于繼承)2、多態性多態性是編程中同一個操作因作用實例不同而表現出不同實現方式的特性。情境引入在計算機信息時代,文本文件可存儲的數據量多得難以置信,例如氣象站的天氣數據、交管部門的交通數據、金融商業街的社會經濟數據、電子圖書館或博物館的文學作品等等。每當需要分析或修改存儲在文件中的信息時,讀取文件都很有用,對數據分析應用程序來說尤其如此。循序善誘在本節課的學習中我們將可以編寫一個這樣的程序:讀取一個文本文件的內容,再重新設置這些數據的格式并將其寫入文件,讓瀏覽器能夠顯示這些內容。循序善誘要使用文本文件中的信息,首先需要將信息讀取到內存中。為此,我們可以一次性讀取文件的全部內容,也可以以每次一行的方式逐步讀取。新知教授2、文件讀取路徑1、全文讀取文件3、逐行讀取文件4、課堂總結全文讀取文件新知教授要讀取文件數據,需要有一個包含幾行數據信息的文本文件。下面我們來創建一個文件,它包含精確到小數點后30位的圓周率值,并且在小數點后每10位處都換行。思維構建我們將文件的名稱與格式保存為pi.txt,然后將該文件保存到與我們此時運行的Python文件的同一個目錄中。編玩邊學with open('pi.txt') as file_object:contents = file_object.read()print(contents)我們通過程序打開文件pi.txt,并可以讀取到其中的內容,并將其打印在控制臺。編玩邊學函數open()接受一個參數(要打開的文件的名稱),返回一個表示文件的對象。關鍵字with在不再需要訪問文件后會將其關閉。使用read()函數方法讀取這個文件的全部內容,并將讀取到的信息作為一個字符串存儲在變量contents中。通過打印contents的值,就可將這個文本文件的全部內容顯示出來。with open('pi.txt') as file_object:contents = file_object.read()print(contents)文件讀取路徑新知教授當將類似pi.txt這樣的簡單文件名傳遞給函open()時,Python將在當前執行的文件(即.py程序文件)所在的目錄中查找文件。但是有時可能要打開不在運行程序文件所屬目錄中的文件。要讓Python打開不與程序文件位于同一個目錄中的文件,我們需要提供要打開的文件路徑,它讓Python到系統特定位置去查找。思維構建一般情況下,程序運行文件是與數據文件分開存放的。假如我們在程序需運行文件目錄下新建一個data文件夾,然后我們將pi.txt放入其中,這時我們該如何通過程序來訪問打開pi.txt文件呢?編玩邊學with open('data\pi.txt') as file_object:contents = file_object.read()print(contents)這行代碼讓Python在當前運行的.py程序文件目錄下的data文件夾中,尋找.txt文件。相對路徑查找操作執行的文件,其實就是相對于當前運行.py程序文件的磁盤路徑位置。相對路徑查找思維構建還可以將文件在計算機中的準確位置告訴Python,這樣就不用關心當前運行的.py程序文件存儲在什么地方了。這稱為絕對文件路徑。在相對路徑行不通時,可試著使用絕對路徑。編玩邊學with open('C:\全文讀取文件\data\pi.txt') as file_object:contents = file_object.read()print(contents)運行程序后,我們看到此種方法,可以完成對絕對路徑下的文件進行訪問、操作,而且路徑中也可以包含中文字符。絕對路徑查找思維構建相對、絕對路徑尋址的方式就像真實世界的地址,比如通過絕對路徑尋址就像告訴系統:我是來自哪個省份、地級市、縣(區)的一樣,而相對路徑尋址就像你已經有了地址作為參照,即以.py運行程序文件的地址作為參照地址,來告訴系統:我是同某某已知的.py運行程序文件是一個縣的。逐行讀取文件新知教授讀取文件時,常常需要檢查其中的某一行:可能要在文件中查找特定的信息,或者要以某種方式來修改文件中的文本內容。編學邊玩file_path = 'C:\全文讀取文件\data\pi.txt' with open(file_path) as file_object:for every_line in file_object:print(every_line)為查看文件的內容,我們通過對文件對象執行for循環來查看文件中的每一行。編學邊玩file_path = 'C:\全文讀取文件\data\靜夜思.txt'with open(file_path,encoding='utf8') as file_object:for every_line in file_object:print(every_line)我們也可以對中文文本信息進行讀取。在進行中文文本信息讀取的過程中,需要讀取的目標文本文檔的編碼方式必須是UTF-8的格式,在open()函數方法中指定編碼encoding='utf8'。實踐創作完成本節課的程序,嘗試讀取更多的文本文件。課堂總結1、全文讀取文件with open('pi.txt') as file_object:contents = file_object.read()print(contents)2、文件讀取路徑相對路徑讀取與絕對路徑讀取3、逐行讀取文件file_path = 'C:\全文讀取文件\data\pi.txt' with open(file_path) as file_object:for every_line in file_object:print(every_line)分享交流同學們今天寫代碼有沒有遇到什么問題?演示今天打印的代碼同學們,要加油哦!下節課見啦 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫