您好,登錄后才能下訂單哦!
本篇內容主要講解“Python的IO操作有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python的IO操作有哪些”吧!
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
具體需要查看API,這里只介紹幾個常用的方法。
open函數的文件名是必傳參數,返回一個文件對象
#打開一個文件。 f = open('read.txt', 'r')
值 | 功能描述 |
---|---|
'r' | 讀模式 |
'w' | 寫模式 |
'a' | 追加模式 |
'b' | 二進制模式 |
'+' | 讀/寫模式 |
b參數一盤處理文本文件時是用不到b參數,便但處理其它類型的文件(二進制文件,)比如mp3或者圖像,那么應該在模式參數中添加b
緩沖區,默認是無緩沖區,
如果參數是0,IO操作就是無緩沖,直接將數據寫在硬盤上,
如果參數是1,IO操作就是有緩沖,數據先寫到內存里,只有使用,flush函數,或者close函數,才會將數據更新到硬盤中,
如果參數大于天,則表示緩沖區的大小(單位是字節),-1(或者是任何負數)代表使用默認緩沖區的大小,
文件讀取主要分為按字節讀取和按行進行讀取,常用的方法有read(),readlines(),close()
如果成功打開文本文件,接下來調用read()方法則可以一次性將文件內容,全部寫入到內存中,最后返回的是str類型的對象: f.read()
調用close()可以關閉對文件的引用,文件使用完后必須關閉,因為文件對象會占用系統資源,影響系統IO操作。
由于文件操作可能會出現IO異常,一旦出現IO異常,后面的close()方法就不會調用。所以為了保證程序的健壯性,我們需要使用try...finally來實現。
try: f = open('read.txt', 'r') print(f.read()) finally: if f: f.close()
python提供了一種簡單的寫法,使用with語句來替代try...finally代碼塊和close()方法。
with open('read.txt', 'r') as fileReader: print(fileReader.read())
由于可能會出現文件過大,將會出現內存不足,python提供更加合理的做法,調用readline()來每次讀一行內容。
小文件可以直接采取read()方法讀取到內存中,
大文件更加安全的方式是連續使用read(size)
對于配置文件等文本文件,使用readline()更加合理。
with open('read.txt', 'r') as fileReader: for line in fileReader.readlines(): print(line.strip()) 得到結果: 1 2 3 4 5 6 7 8 9
推薦寫法:
with open('read.txt', 'w') as fileWriter: for num in range(1, 100): fileWriter.write(str(num)+'\n')
到此,相信大家對“Python的IO操作有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。