溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么實現(xiàn)文件讀取操作

發(fā)布時間:2021-06-17 15:28:51 來源:億速云 閱讀:153 作者:Leah 欄目:開發(fā)技術

這期內容當中小編將會給大家?guī)碛嘘PPython中怎么實現(xiàn)文件讀取操作,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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 仍然是由字符串構成的list
    dataMat.extend([float(entry) for entry in curLine])
          # 對每一個類型進行強轉

文件流成員函數(shù)

(1)fp.readlines():返回的是由字符串構成的 list,list of strs(文件中的每一行為一個字符串,劃分行的標識是\n(換行符))

(2)str.strip():strip() 是字符串的成員函數(shù),strip()的返回值仍然為字符串

(3)str.split():split() 是字符串的成員函數(shù),返回值是是字符串構成的 list,list of strs

(4)從文件中讀取的數(shù)據(jù)(經(jīng)過行,再對行切分)都是字符串類型,如果需要轉換為數(shù)值,需要強制類型轉換。

read()、readlines()、readline()

(1)read():讀取全部(自然是置于內存中),返回類型為 str

(2)readlines():讀取全部行(置于內存中),list of strs(較適合按行迭代)

for line in fp.readlines():
  ...
                # line 中的內容其實就是 readline 的內容

(3)readline():逐行讀取,返回類型為 str

while True:
  line = fp.readline()
  if not line:
    break
  ...

當要讀取的文件過大,應優(yōu)先使用 readline() 逐行讀取,出于內存的考慮。

io.UnsupportedOperation: read

也即不支持讀操作,為什么 with open() as fp: fp(文件流)卻不可以讀呢?獲取文件的mode(模式)不對,如果設置成了w或者wb,就意味著只寫模式。

上述就是小編為大家分享的Python中怎么實現(xiàn)文件讀取操作了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI