溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python3中文件讀寫操作的示例分析

發(fā)布時(shí)間:2021-07-23 13:47:04 來源:億速云 閱讀:160 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Python3中文件讀寫操作的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

文件操作的步驟:

打開文件 -> 操作文件 -> 關(guān)閉文件

切記:最后要關(guān)閉文件(否則可能會(huì)有意想不到的結(jié)果)

打開文件

文件句柄 = open(‘文件路徑', ‘模式')

指定文件編碼

文件句柄= open(‘文件路徑','模式',encoding='utf-8')

為了防止忘記關(guān)閉文件,可以使用上下文管理器來打開文件

with open(‘文件路徑','模式') as 文件句柄:

打開文件的模式有:

r,只讀模式(默認(rèn))。
w,只寫模式。【不可讀;不存在則創(chuàng)建;存在則刪除內(nèi)容;】
a,追加模式。【可讀; 不存在則創(chuàng)建;存在則只追加內(nèi)容;】
r+,可讀寫文件?!究勺x;可寫;可追加】
w+,寫讀
“U”表示在讀取時(shí),可以將 \r \n \r\n自動(dòng)轉(zhuǎn)換成 \n (與 r 或 r+ 模式同使用)

rU

r+U

“b”表示處理二進(jìn)制文件(如:FTP發(fā)送上傳ISO鏡像文件,linux可忽略,windows處理二進(jìn)制文件時(shí)需標(biāo)注)

rb

wb
ab

關(guān)閉文件

文件句柄.close()

操作文件:

detach

占位

fileno(返回文件描述符,用于底層操作系統(tǒng)的 I/O 操作)

fid = 文件句柄.fileno()

print(fid)

flush(刷新緩沖區(qū),將緩沖區(qū)中的數(shù)據(jù)立刻寫入文件)

文件句柄.flush()

isatty(判斷文件是否連接到一個(gè)終端設(shè)備,返回布爾值)

文件句柄.isatty()

read(從文件中讀取指定的字符數(shù),默認(rèn)讀取全部)

str = 文件句柄.read() #讀取整個(gè)文件
str1 = 文件句柄.read(10) #讀取文件前10個(gè)字符
readable(判斷文件是否可讀,返回布爾值)

文件句柄.readable()

readline(每次最多讀取一行數(shù)據(jù),每行的最后包含換行符'\n')

print(文件句柄.readline()) #讀取第一行數(shù)據(jù)
print(文件句柄.readline(3)) #讀取第二行前3個(gè)字符
print(文件句柄.readline()) #讀取第二行剩余字符
print(文件句柄.readline()) #讀取第三行

seek(移動(dòng)文件讀取的指針,如果文件中包含中文,移動(dòng)指針必須是3的倍數(shù),不然會(huì)報(bào)錯(cuò),因?yàn)橐粋€(gè)中文字符等于3個(gè)字節(jié))

文件句柄.seek(6)

seekable(判斷文件指針是否可用,返回布爾值)

文件句柄.seekable()

tell(獲取指針位置)

文件句柄.tell()

truncate(截?cái)?,把指針后面的?nèi)容刪除,并寫入文件,要在可寫模式下操作)

f = open(‘text.txt','r+',encoding='utf-8')
f.seek(9) #把指針移動(dòng)到第9個(gè)字節(jié)后面(即第3個(gè)中文后面)
f.truncate() #把第3個(gè)中文后面的字符刪除,并寫入文件
f.close()

writable(判斷文件是否可寫,返回布爾值)

文件句柄.writable()

write(把字符串寫入文件,并返回字符數(shù))

文件句柄.write(‘字符串')

感謝各位的閱讀!關(guān)于“Python3中文件讀寫操作的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

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

AI