新聞中心
這篇文章主要講解了“python中file對象的常用方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python中file對象的常用方法有哪些”吧!
創(chuàng)新互聯(lián)服務(wù)項目包括通州網(wǎng)站建設(shè)、通州網(wǎng)站制作、通州網(wǎng)頁制作以及通州網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,通州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到通州省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
open() 方法
Python open() 方法用于打開一個文件,并返回文件對象,在對文件進(jìn)行處理過程都需要使用到這個函數(shù),如果該文件無法被打開,會拋出 OSError。(使用 open() 方法一定要保證關(guān)閉文件對象,即調(diào)用 close() 方法)
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file:必需,文件路徑(相對或者絕對路徑)。
mode: 可選,文件打開模式
buffering: 設(shè)置緩沖
encoding: 一般使用utf8
errors:報錯級別
newline: 區(qū)分換行符
closefd:傳入的file參數(shù)類型
file對象的常用函數(shù)
close()方法
close()方法用于關(guān)閉一個已打開的文件,關(guān)閉后的文件不能再進(jìn)行讀寫操作, 否則會觸發(fā) ValueError 錯誤。close() 方法允許調(diào)用多次。
語法:fileObject.close();
file = open("hello.txt","wb") print(file.name) file.close() # 輸出:hello.txt
read() 方法
read() 方法用于從文件讀取指定的字節(jié)數(shù),如果未給定或為負(fù)則讀取所有。
首先自己創(chuàng)建一個hello.txt文檔(自定義),文檔中的內(nèi)容是hello world。
file = open("hello.txt", "r") read1 = file.read() print(read1) file.close() # 輸出:hello world
write()方法
write()方法用于向文件中寫入指定字符串。
向一個空的hello.txt文檔中寫入hello world。
file = open("hello.txt", "w") file.write("hello world") file.close()
writelines() 方法
writelines() 方法用于向文件中寫入一序列的字符串。這一序列字符串可以是由迭代對象產(chǎn)生的,如一個字符串列表。換行需要制定換行符 \n。
file = open("hello.txt", "w") con = ["a \n", "b\n", "c\n"] file.writelines(con) file.close() # hello.txt文件中寫入 a b c
flush() 方法
flush() 方法是用來刷新緩沖區(qū)的,即將緩沖區(qū)中的數(shù)據(jù)立刻寫入文件,同時清空緩沖區(qū),不需要是被動的等待輸出緩沖區(qū)寫入。
一般情況下,文件關(guān)閉后會自動刷新緩沖區(qū),但如果你需要在關(guān)閉前刷新它,就可以使用 flush() 方法。
file = open("hello.txt", "wb") print("文件名:", file.name) file.flush() file.close() # 文件名: hello.txt
readline() 方法
readline() 方法用于從文件讀取整行,包括 “\n” 字符。如果指定了一個非負(fù)數(shù)的參數(shù),則返回指定大小的字節(jié)數(shù),包括 “\n” 字符。
# hello.txt的內(nèi)容 123 456 789
file = open("hello.txt", "r") content = file.readline() print(content) file.close() # 輸出hello.txt文件的第一行:123
readlines() 方法
readlines() 方法用于讀取所有行(直到結(jié)束符 EOF)并返回列表,該列表可以由 Python 的 for… in … 結(jié)構(gòu)進(jìn)行處理。如果碰到結(jié)束符 EOF 則返回空字符串。
file = open("hello.txt", "r") content = file.readlines() print(content) file.close() # 輸出:['123\n', '456\n', '789']
seek() 方法
seek() 方法用于移動文件讀取指針到指定位置。
fileObject.seek(offset[, whence])
offset表示開始的偏移量,也就是代表需要移動偏移的字節(jié)數(shù)。
whence:可選,默認(rèn)值為 0。給offset參數(shù)一個定義,表示要從哪個位置開始偏移;0代表從文件開頭開始算起,1代表從當(dāng)前位置開始算起,2代表從文件末尾算起。
假設(shè)hello.txt文件中的內(nèi)容是abcdefghijk,那么我們使用 seek() 方法來移動文件指針試試:
file = open("hello.txt", "r") file.seek(3) #文件指針移動到第三位,從第四位開始讀 print(file.read()) # 輸出:defghijk file.seek(5) print(file.read()) # 輸出:fghijk file.close()
tell() 方法
tell() 方法返回文件的當(dāng)前位置,即文件指針當(dāng)前位置。
file = open("hello.txt", "r") file.seek(4) #文件指針移動到第三位,從第四位開始讀 print(file.tell()) # 4 file.close()
fileno()方法
fileno() 方法返回一個整型的文件描述符(file descriptor FD 整型),可用于底層操作系統(tǒng)的 I/O 操作。
file = open("hello.txt", "w") con = file.fileno() print(con) file.close() # 輸出:3
isatty()方法
如果文件連接到一個終端設(shè)備返回 True,否則返回 False。
file = open("hello.txt", "w") con = file.isatty() print(con) file.close() # 輸出:False
truncate() 方法
truncate() 方法用于截斷文件,如果指定了可選參數(shù) size,則表示截斷文件為 size 個字符。 如果沒有指定 size,則從當(dāng)前位置起截斷;截斷之后 size 后面的所有字符被刪除。
# hello.txt文本 a b c d e
file = open("hello.txt", "r") con = file.readline() print(con) # 輸出:a file.truncate() # 截斷剩下的字符串 con = file.readline() print(con) file.close()
感謝各位的閱讀,以上就是“python中file對象的常用方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對python中file對象的常用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
當(dāng)前標(biāo)題:python中file對象的常用方法有哪些
文章分享:http://www.dlmjj.cn/article/jojdoi.html