本篇內(nèi)容主要講解“Python的IO操作有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python的IO操作有哪些”吧!
10年積累的做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有烏蘇免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
具體需要查看API,這里只介紹幾個(gè)常用的方法。
open函數(shù)的文件名是必傳參數(shù),返回一個(gè)文件對象
#打開一個(gè)文件。 f = open('read.txt', 'r')
值 | 功能描述 |
---|---|
'r' | 讀模式 |
'w' | 寫模式 |
'a' | 追加模式 |
'b' | 二進(jìn)制模式 |
'+' | 讀/寫模式 |
b參數(shù)一盤處理文本文件時(shí)是用不到b參數(shù),便但處理其它類型的文件(二進(jìn)制文件,)比如mp3或者圖像,那么應(yīng)該在模式參數(shù)中添加b
緩沖區(qū),默認(rèn)是無緩沖區(qū),
如果參數(shù)是0,IO操作就是無緩沖,直接將數(shù)據(jù)寫在硬盤上,
如果參數(shù)是1,IO操作就是有緩沖,數(shù)據(jù)先寫到內(nèi)存里,只有使用,flush函數(shù),或者close函數(shù),才會(huì)將數(shù)據(jù)更新到硬盤中,
如果參數(shù)大于天,則表示緩沖區(qū)的大小(單位是字節(jié)),-1(或者是任何負(fù)數(shù))代表使用默認(rèn)緩沖區(qū)的大小,
文件讀取主要分為按字節(jié)讀取和按行進(jìn)行讀取,常用的方法有read(),readlines(),close()
如果成功打開文本文件,接下來調(diào)用read()方法則可以一次性將文件內(nèi)容,全部寫入到內(nèi)存中,最后返回的是str類型的對象: f.read()
調(diào)用close()可以關(guān)閉對文件的引用,文件使用完后必須關(guān)閉,因?yàn)槲募ο髸?huì)占用系統(tǒng)資源,影響系統(tǒng)IO操作。
由于文件操作可能會(huì)出現(xiàn)IO異常,一旦出現(xiàn)IO異常,后面的close()方法就不會(huì)調(diào)用。所以為了保證程序的健壯性,我們需要使用try...finally來實(shí)現(xiàn)。
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())
由于可能會(huì)出現(xiàn)文件過大,將會(huì)出現(xiàn)內(nèi)存不足,python提供更加合理的做法,調(diào)用readline()來每次讀一行內(nèi)容。
小文件可以直接采取read()方法讀取到內(nèi)存中,
大文件更加安全的方式是連續(xù)使用read(size)
對于配置文件等文本文件,使用readline()更加合理。
with open('read.txt', 'r') as fileReader: for line in fileReader.readlines(): print(line.strip()) 得到結(jié)果: 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操作有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站題目:Python的IO操作有哪些
轉(zhuǎn)載來源:http://muchs.cn/article46/ghodeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)