您好,登錄后才能下訂單哦!
這篇文章主要講解了“python中file對象的常用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python中file對象的常用方法有哪些”吧!
Python open() 方法用于打開一個文件,并返回文件對象,在對文件進行處理過程都需要使用到這個函數,如果該文件無法被打開,會拋出 OSError。(使用 open() 方法一定要保證關閉文件對象,即調用 close() 方法)
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file:必需,文件路徑(相對或者絕對路徑)。
mode: 可選,文件打開模式
buffering: 設置緩沖
encoding: 一般使用utf8
errors:報錯級別
newline: 區分換行符
closefd:傳入的file參數類型
close()方法用于關閉一個已打開的文件,關閉后的文件不能再進行讀寫操作, 否則會觸發 ValueError 錯誤。close() 方法允許調用多次。
語法:fileObject.close();
file = open("hello.txt","wb") print(file.name) file.close() # 輸出:hello.txt
read() 方法用于從文件讀取指定的字節數,如果未給定或為負則讀取所有。
首先自己創建一個hello.txt文檔(自定義),文檔中的內容是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() 方法用于向文件中寫入一序列的字符串。這一序列字符串可以是由迭代對象產生的,如一個字符串列表。換行需要制定換行符 \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() 方法。
file = open("hello.txt", "wb") print("文件名:", file.name) file.flush() file.close() # 文件名: hello.txt
readline() 方法用于從文件讀取整行,包括 “\n” 字符。如果指定了一個非負數的參數,則返回指定大小的字節數,包括 “\n” 字符。
# hello.txt的內容 123 456 789
file = open("hello.txt", "r") content = file.readline() print(content) file.close() # 輸出hello.txt文件的第一行:123
readlines() 方法用于讀取所有行(直到結束符 EOF)并返回列表,該列表可以由 Python 的 for… in … 結構進行處理。如果碰到結束符 EOF 則返回空字符串。
file = open("hello.txt", "r") content = file.readlines() print(content) file.close() # 輸出:['123\n', '456\n', '789']
seek() 方法用于移動文件讀取指針到指定位置。
fileObject.seek(offset[, whence])
offset表示開始的偏移量,也就是代表需要移動偏移的字節數。
whence:可選,默認值為 0。給offset參數一個定義,表示要從哪個位置開始偏移;0代表從文件開頭開始算起,1代表從當前位置開始算起,2代表從文件末尾算起。
假設hello.txt文件中的內容是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 整型),可用于底層操作系統的 I/O 操作。
file = open("hello.txt", "w") con = file.fileno() print(con) file.close() # 輸出:3
如果文件連接到一個終端設備返回 True,否則返回 False。
file = open("hello.txt", "w") con = file.isatty() print(con) file.close() # 輸出:False
truncate() 方法用于截斷文件,如果指定了可選參數 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對象的常用方法有哪些”的內容了,經過本文的學習后,相信大家對python中file對象的常用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。