Python3之文件讀寫操作的實(shí)例講解
文件操作的步驟:
打開文件 -> 操作文件 -> 關(guān)閉文件
切記:最后要關(guān)閉文件(否則可能會(huì)有意想不到的結(jié)果)
打開文件
文件句柄 = open(‘文件路徑', ‘模式')
指定文件編碼
文件句柄= open(‘文件路徑','模式',encoding='utf-8')
為了防止忘記關(guān)閉文件,可以使用上下文管理器來打開文件
with open(‘文件路徑','模式') as 文件句柄:
打開文件的模式有:
r,只讀模式(默認(rèn))。
w,只寫模式?!静豢勺x;不存在則創(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)文章
Python 運(yùn)行 shell 獲取輸出結(jié)果的實(shí)例
今天小編就為大家分享一篇Python 運(yùn)行 shell 獲取輸出結(jié)果的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python實(shí)現(xiàn)的爬蟲刷回復(fù)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的爬蟲刷回復(fù)功能,結(jié)合實(shí)例形式分析了Python2.7基于爬蟲實(shí)現(xiàn)的模擬登陸、刷帖、回復(fù)等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06PyQt使用QPropertyAnimation開發(fā)簡(jiǎn)單動(dòng)畫
這篇文章主要介紹了PyQt使用QPropertyAnimation開發(fā)簡(jiǎn)單動(dòng)畫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python設(shè)計(jì)模式之狀態(tài)模式原理與用法詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之狀態(tài)模式原理與用法,簡(jiǎn)單描述了狀態(tài)模式的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用狀態(tài)模式的相關(guān)操作技巧,需要的朋友可以參考下2019-01-01Python數(shù)據(jù)分析之如何利用pandas查詢數(shù)據(jù)示例代碼
查詢和分析數(shù)據(jù)是pandas的重要功能,也是我們學(xué)習(xí)pandas的基礎(chǔ),下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)分析之如何利用pandas查詢數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作
這篇文章主要介紹了Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06pip安裝python庫(kù)時(shí)報(bào)Failed?building?wheel?for?xxx錯(cuò)誤的解決方法
最近在使用pip安裝python的時(shí)候遇到些問題,所以下面這篇文章主要給大家介紹了關(guān)于pip安裝python庫(kù)時(shí)報(bào)Failed?building?wheel?for?xxx錯(cuò)誤的解決方法,需要的朋友可以參考下2023-01-01