Python基礎(chǔ)之文件讀取的講解
with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一個list,list of strs # 也即line類型為`str` curLine = line.strip().split('\t') # 只有`str`類型才有strip()成員函數(shù), # 在經(jīng)過split()分割,得到list類型 # 也即curLine類型為list # curLine 仍然是由字符串構(gòu)成的list dataMat.extend([float(entry) for entry in curLine]) # 對每一個類型進(jìn)行強(qiáng)轉(zhuǎn)
文件流成員函數(shù)
(1)fp.readlines():返回的是由字符串構(gòu)成的 list,list of strs(文件中的每一行為一個字符串,劃分行的標(biāo)識是\n(換行符))
(2)str.strip():strip() 是字符串的成員函數(shù),strip()的返回值仍然為字符串
(3)str.split():split() 是字符串的成員函數(shù),返回值是是字符串構(gòu)成的 list,list of strs
(4)從文件中讀取的數(shù)據(jù)(經(jīng)過行,再對行切分)都是字符串類型,如果需要轉(zhuǎn)換為數(shù)值,需要強(qiáng)制類型轉(zhuǎn)換。
read()、readlines()、readline()
(1)read():讀取全部(自然是置于內(nèi)存中),返回類型為 str
(2)readlines():讀取全部行(置于內(nèi)存中),list of strs(較適合按行迭代)
for line in fp.readlines(): ... # line 中的內(nèi)容其實(shí)就是 readline 的內(nèi)容
(3)readline():逐行讀取,返回類型為 str
while True: line = fp.readline() if not line: break ...
當(dāng)要讀取的文件過大,應(yīng)優(yōu)先使用 readline() 逐行讀取,出于內(nèi)存的考慮。
io.UnsupportedOperation: read
也即不支持讀操作,為什么 with open() as fp: fp(文件流)卻不可以讀呢?獲取文件的mode(模式)不對,如果設(shè)置成了w或者wb,就意味著只寫模式。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Python實(shí)戰(zhàn)購物車項(xiàng)目的實(shí)現(xiàn)參考
- Python英文文本分詞(無空格)模塊wordninja的使用實(shí)例
- Python基于datetime或time模塊分別獲取當(dāng)前時間戳的方法實(shí)例
- Python語言檢測模塊langid和langdetect的使用實(shí)例
- Python常用的json標(biāo)準(zhǔn)庫
- Python字符串逆序的實(shí)現(xiàn)方法【一題多解】
- Python實(shí)現(xiàn)去除列表中重復(fù)元素的方法總結(jié)【7種方法】
- 強(qiáng)悍的Python讀取大文件的解決方案
- centos6.5安裝python3.7.1之后無法使用pip的解決方案
- 啥是佩奇?使用Python自動繪畫小豬佩奇的代碼實(shí)例
相關(guān)文章
Python進(jìn)行ffmpeg推流和拉流rtsp、rtmp實(shí)例詳解
Python推流本質(zhì)是調(diào)用FFmpeg的推流進(jìn)程,下面這篇文章主要給大家介紹了關(guān)于Python進(jìn)行ffmpeg推流和拉流rtsp、rtmp的相關(guān)資料,需要的朋友可以參考下2023-01-01Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換你了解嗎
這篇文章主要為大家詳細(xì)介紹了Python的進(jìn)制轉(zhuǎn)換和ASCLL轉(zhuǎn)換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02python 統(tǒng)計列表中不同元素的數(shù)量方法
今天小編就為大家分享一篇python 統(tǒng)計列表中不同元素的數(shù)量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作
這篇文章主要介紹了python 刪除excel表格重復(fù)行,數(shù)據(jù)預(yù)處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07Python從list類型、range()序列簡單認(rèn)識類(class)【可迭代】
這篇文章主要介紹了Python從list類型、range()序列簡單認(rèn)識類(class),結(jié)合實(shí)例形式分析了list、range及自定義類等可迭代數(shù)據(jù)類型相關(guān)使用技巧,需要的朋友可以參考下2019-05-05Matplotlib之解決plt.savefig()保存多張圖片有重疊的問題
這篇文章主要介紹了Matplotlib之解決plt.savefig()保存多張圖片有重疊的問題,具有很好的參考價值,希望對大家有所幫助,2023-09-09使用Python實(shí)現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能
這篇文章主要介紹了使用Python實(shí)現(xiàn)NBA球員數(shù)據(jù)查詢小程序功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11在Python中執(zhí)行和調(diào)用JavaScript的多種方法小結(jié)
JavaScript(JS)是一種常用的腳本語言,通常用于網(wǎng)頁開發(fā),但有時也需要在Python中執(zhí)行或調(diào)用JavaScript代碼,本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,每種方法都將附有示例代碼,方便理解如何在Python中與JavaScript進(jìn)行互動,需要的朋友可以參考下2023-11-11