日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python3 第三十四章 - 聊聊File对象

發布時間:2025/4/14 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3 第三十四章 - 聊聊File对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

file 對象使用 open 函數來創建,下表列出了 file 對象常用的函數:

序號方法及描述實例
?1

?file.close()

關閉文件。關閉后文件不能再進行讀寫操作。

?

方法用于關閉一個已打開的文件。關閉后的文件不能再進行讀寫操作, 否則會觸發 ValueError 錯誤。 close() 方法允許調用多次。

當 file 對象,被引用到操作另外一個文件時,Python 會自動關閉之前的 file 對象。 使用 close() 方法關閉文件是一個好的習慣。

?

?

返回值:

參數:

#!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print("文件名為: ", fo.name)# 關閉文件 fo.close()
?2

?file.flush()

刷新文件內部緩沖,直接把內部緩沖區的數據立刻寫入文件, 而不是被動的等待輸出緩沖區寫入。

===========================

flush() 方法是用來刷新緩沖區的,即將緩沖區中的數據立刻寫入文件,同時清空緩沖區,不需要是被動的等待輸出緩沖區寫入。

一般情況下,文件關閉后會自動刷新緩沖區,但有時你需要在關閉前刷新它,這時就可以使用 flush() 方法。

?

返回值:

參數:

#!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print ("文件名為: ", fo.name)# 刷新緩沖區 fo.flush()# 關閉文件 fo.close()
?3

?file.fileno()

返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。

?

返回值:返回文件描述符。

參數:無

#!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print ("文件名為: ", fo.name)fid = fo.fileno() print ("文件描述符為: ", fid)# 關閉文件 fo.close()
?4

?file.isatty()

如果文件連接到一個終端設備返回 True,否則返回 False。

?

返回值:如果連接到一個終端設備返回 True,否則返回 False。

參數:

#!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print ("文件名為: ", fo.name)ret = fo.isatty() print ("返回值 : ", ret)# 關閉文件 fo.close()

?

?5

?file.next()

返回文件下一行。

?

Python 3 中的 File 對象不支持 next() 方法。 Python 3 的內置函數 next() 通過迭代器調用 __next__() 方法返回下一項。 在循環中,next()方法會在每次循環中調用,該方法返回文件的下一行,如果到達結尾(EOF),則觸發 StopIteration

?

返回值:返回文件下一行。

參數:

#!/usr/bin/python3# 打開文件 fo = open("python.txt", "r") print ("文件名為: ", fo.name)for index in range(5):line = next(fo)print ("第 %d 行 - %s" % (index, line))# 關閉文件 fo.close()

?

?6

?file.read([size])

從文件讀取指定的字節數,如果未給定或為負則讀取所有。

?

?

返回值:返回從字符串中讀取的字節。

參數:size -- 從文件中讀取的字節數。

?

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "r+") print ("文件名為: ", fo.name)line = fo.read(10) print ("讀取的字符串: %s" % (line))# 關閉文件 fo.close()

?

?7

?file.readline([size])

讀取整行,包括 "\n" 字符。

?

方法用于從文件讀取整行,包括 "\n" 字符。如果指定了一個非負數的參數,則返回指定大小的字節數,包括 "\n" 字符。

?

返回值:返回從字符串中讀取的字節。

參數:size -- 從文件中讀取的字節數。

?

? #!/usr/bin/python # -*- coding: UTF-8 -*-# 打開文件 fo = open("python.txt", "r+") print ("文件名為: ", fo.name)line = fo.readline() print ("讀取第一行 %s" % (line))line = fo.readline(5) print ("讀取的字符串為: %s" % (line))# 關閉文件 fo.close()

?

?8

?file.readlines([sizeint])

讀取所有行并返回列表,若給定sizeint>0,返回總和大約為sizeint字節的行, 實際讀取值可能比 sizeint 較大, 因為需要填充緩沖區。

?

該列表可以由 Python 的 for... in ... 結構進行處理。 如果碰到結束符 EOF 則返回空字符串。

如果碰到結束符 EOF 則返回空字符串。

?

返回值:列表,包含所有的行。

參數:sizeint -- 從文件中讀取的字節數。

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "r") print ("文件名為: ", fo.name)for line in fo.readlines(): #依次讀取每行 line = line.strip() #去掉每行頭尾空白 print ("讀取的數據為: %s" % (line))# 關閉文件 fo.close()

?

?9

?file.seek(offset[, whence])

設置文件當前位置,用于移動文件讀取指針到指定位置。

?


返回值:

參數:

?offset -- 開始的偏移量,也就是代表需要移動偏移的字節數

whence:可選,默認值為 0。給offset參數一個定義,表示要從哪個位置開始偏移;0代表從文件開頭開始算起,1代表從當前位置開始算起,2代表從文件末尾算起。

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "r+") print ("文件名為: ", fo.name)line = fo.readline() print ("讀取的數據為: %s" % (line))# 重新設置文件讀取指針到開頭 fo.seek(0, 0) line = fo.readline() print ("讀取的數據為: %s" % (line))# 關閉文件 fo.close()

?

?10

?file.tell()

返回文件當前位置。即文件指針當前位置。

?

?

返回值:文件的當前位置。

參數:

?

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "r+") print ("文件名為: ", fo.name)line = fo.readline() print ("讀取的數據為: %s" % (line))# 獲取當前文件位置 pos = fo.tell() print ("當前位置: %d" % (pos))# 關閉文件 fo.close()

?

?11

?file.truncate([size])

從文件的首行首字符開始截斷,截斷文件為 size 個字符,無 size 表示從當前位置截斷;截斷之后 V 后面的所有字符被刪除,其中 Widnows 系統下的換行代表2個字符大小。


?

?

返回值:

參數:size -- 可選,如果存在則文件截斷為 size 字節。

?

? #!/usr/bin/python3 fo = open("python.txt", "r+") print ("文件名: ", fo.name)line = fo.readline() print ("讀取行: %s" % (line))fo.truncate() line = fo.readlines() print ("讀取行: %s" % (line))# 關閉文件 fo.close()

?

12

?file.write(str)

將字符串寫入文件,沒有返回值。

在文件關閉前或緩沖區刷新前,字符串內容存儲在緩沖區中,這時你在文件中是看不到寫入的內容的。

?

返回值:

參數:str -- 要寫入文件的字符串。

?

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "r+") print ("文件名: ", fo.name)str = "text end" # 在文件末尾寫入一行 fo.seek(0, 2) line = fo.write( str )# 讀取文件所有內容 fo.seek(0,0) for index in range(6):line = next(fo)print ("文件行號 %d - %s" % (index, line))# 關閉文件 fo.close()

?

13

?file.writelines(sequence)

向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。

?

?

返回值:

參數:str -- 要寫入文件的字符串序列。

?

? #!/usr/bin/python3# 打開文件 fo = open("python.txt", "w") print ("文件名為: ", fo.name) seq = ["text 1\n", "text 2"] fo.writelines( seq )# 關閉文件 fo.close()

?

轉載于:https://www.cnblogs.com/mrbug/p/8922794.html

總結

以上是生活随笔為你收集整理的python3 第三十四章 - 聊聊File对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。