創(chuàng)建一個(gè)包含文件各行內(nèi)容的列表
? ? ? ? 使用關(guān)鍵字with 時(shí)渔工,open() 返回的文件對(duì)象只在with 代碼塊內(nèi)可用锌钮。如果要在with 代碼塊外訪問(wèn)文件的內(nèi)容,可在with 代碼塊內(nèi)將文件的各行存儲(chǔ)在一個(gè)列表中引矩,并在with 代碼塊外使用該列表梁丘。
? ? ? 在with 代碼塊內(nèi)訪問(wèn)文件與在with 代碼塊外訪問(wèn)文件的比較:
? ? ? 使用方法readlines() 從文件中讀取每一行,并將其存儲(chǔ)在一個(gè)列表中旺韭;接下來(lái)氛谜,該列表被存儲(chǔ)到變量lines 中;在with 代碼塊外区端,我們依然可以使用這個(gè)變量
使用文件內(nèi)容
? ? ? ? 使用關(guān)鍵字with時(shí)值漫,用open()打開(kāi)文件并返回文件對(duì)象,再使用readlines()讀取文件每行的內(nèi)容并存在列表lines中织盼,接下來(lái)就可以使用文件內(nèi)容了杨何。
? ? ? ? 先創(chuàng)建一個(gè)空字符串pi_string酱塔,使用for循環(huán)把讀取到每一行的內(nèi)容存放在pi_string中,同時(shí)刪除每一行后面的換行符危虱,最后打印結(jié)果并統(tǒng)計(jì)字符串的長(zhǎng)度羊娃。
? ? ? ? 結(jié)果發(fā)現(xiàn)字符串仍然有空格且字符串長(zhǎng)度為36,原因是我們?cè)L問(wèn)的文件pi_digits.txt中埃跷,每一行還包含左邊的空格蕊玷,存儲(chǔ)在pi_string時(shí)把左邊的空格也一起放進(jìn)來(lái)了,但是使用rstrip()函數(shù)只是刪除每一行后面的換行符導(dǎo)致的空格弥雹,讀取文件中每行左邊的空格并未刪除垃帅,所以要把rstrip()函數(shù)換成strip()刪除所有的空格。
? ? ? 結(jié)果顯示沒(méi)有空格了剪勿,而且字符串的長(zhǎng)度為32
注意事項(xiàng):
? ? ? ? 讀取文件時(shí)挺智,python會(huì)把所有的文本解讀為字符串。如果讀取的是數(shù)字窗宦,并把它當(dāng)做數(shù)值使用,則必須使用函數(shù)int()轉(zhuǎn)換為整數(shù)二鳄,或使用函數(shù)float()轉(zhuǎn)換為浮點(diǎn)數(shù)赴涵。
例如:我把讀取到的圓周率乘2
? ? ? ? 結(jié)果把讀取到的圓周率打印兩遍,當(dāng)我使用函數(shù)float()則運(yùn)行正確
學(xué)習(xí)筆記
? ? ? 使用方法replace()將字符串中的特定單詞都替換為另一個(gè)單詞订讼,下面示例中將 "favorite language is" 替換為 "like"