您好,登錄后才能下訂單哦!
這篇文章主要講解了“python中file對象的常用方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“python中file對象的常用方法有哪些”吧!
Python open() 方法用于打開一個文件,并返回文件對象,在對文件進行處理過程都需要使用到這個函數(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ù)類型
close()方法用于關(guān)閉一個已打開的文件,關(guān)閉后的文件不能再進行讀寫操作, 否則會觸發(fā) ValueError 錯誤。close() 方法允許調(diào)用多次。
語法:fileObject.close();
file = open("hello.txt","wb") print(file.name) file.close() # 輸出:hello.txt
read() 方法用于從文件讀取指定的字節(jié)數(shù),如果未給定或為負則讀取所有。
首先自己創(chuàng)建一個hello.txt文檔(自定義),文檔中的內(nèi)容是hello world。
file = open("hello.txt", "r") read1 = file.read() print(read1) file.close() # 輸出:hello world
write()方法用于向文件中寫入指定字符串。
向一個空的hello.txt文檔中寫入hello world。
file = open("hello.txt", "w") file.write("hello world") file.close()
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() 方法是用來刷新緩沖區(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() 方法用于從文件讀取整行,包括 “\n” 字符。如果指定了一個非負數(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() 方法用于讀取所有行(直到結(jié)束符 EOF)并返回列表,該列表可以由 Python 的 for… in … 結(jié)構(gòu)進行處理。如果碰到結(jié)束符 EOF 則返回空字符串。
file = open("hello.txt", "r") content = file.readlines() print(content) file.close() # 輸出:['123\n', '456\n', '789']
seek() 方法用于移動文件讀取指針到指定位置。
fileObject.seek(offset[, whence])
offset表示開始的偏移量,也就是代表需要移動偏移的字節(jié)數(shù)。
whence:可選,默認值為 0。給offset參數(shù)一個定義,表示要從哪個位置開始偏移;0代表從文件開頭開始算起,1代表從當前位置開始算起,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() 方法返回文件的當前位置,即文件指針當前位置。
file = open("hello.txt", "r") file.seek(4) #文件指針移動到第三位,從第四位開始讀 print(file.tell()) # 4 file.close()
fileno() 方法返回一個整型的文件描述符(file descriptor FD 整型),可用于底層操作系統(tǒng)的 I/O 操作。
file = open("hello.txt", "w") con = file.fileno() print(con) file.close() # 輸出:3
如果文件連接到一個終端設(shè)備返回 True,否則返回 False。
file = open("hello.txt", "w") con = file.isatty() print(con) file.close() # 輸出:False
truncate() 方法用于截斷文件,如果指定了可選參數(shù) size,則表示截斷文件為 size 個字符。 如果沒有指定 size,則從當前位置起截斷;截斷之后 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對象的常用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。