之前,我們寫的程序絕大多數(shù)都依賴于從命令行輸入。假如某個程序需要輸入很多數(shù)據(jù),比如一次考試的全班學(xué)生成績,再這么輸就略顯痛苦了。一個常見的辦法就是把學(xué)生的成績都保存在一個文件中,然后讓程序自己從這個文件里取數(shù)據(jù)。
要讀取文件,先得有文件。我們新建個文件,就叫它data.txt。在里面隨便寫上一些話,保存。把這個文件放在接下來你打算保存代碼的文件夾下,這么做是為了方便我們的程序找到它。準(zhǔn)備工作就緒,可以來寫我們的代碼了。
打開一個文件的命令很簡單:
file('文件名')
這里的文件名可以用文件的完整路徑,也可以是相對路徑。因為我們把要讀取的文件和代碼放在了同一個文件夾下,所以只需要寫它的文件名就夠了。
f = file('data.txt')
但這一步只是打開了一個文件,并沒有得到其中的內(nèi)容。變量f保存了這個文件,還需要去讀取它的內(nèi)容。你可以通過read()函數(shù)把文件內(nèi)所有內(nèi)容讀進(jìn)一個字符串中。
data = f.read()
做完對文件的操作之后,記得用close()關(guān)閉文件,釋放資源。雖然現(xiàn)在這樣一個很短的程序,不做這一步也不會影響運行結(jié)果。但養(yǎng)成好習(xí)慣,可以避免以后發(fā)生莫名的錯誤。
完整程序示例:
f = file('data.txt')
data = f.read()
print data
f.close()
是不是很簡單?
讀取文件內(nèi)容的方法還有
readline() #讀取一行內(nèi)容
readlines() #把內(nèi)容按行讀取至一個list中
去替換程序的第二行,看看它們的區(qū)別。
聯(lián)系客服