最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python文件的操作處理詳解

 更新時間:2021年10月28日 11:55:43   作者:boy-s6  
今天這篇文章給大家介紹Python文件的操作處理,文章內(nèi)容介紹的很詳細,有需要的可以參考借鑒,希望能夠給你帶來幫助

1.使用open()函數(shù)打開文件夾

在讀取一個文件的內(nèi)容之前,需要先打開這個文件。在Python程序中可以通過內(nèi)置函數(shù)open()來打開一個文件程序中,,并用相關(guān)的方法讀或?qū)懳募募械膬?nèi)容以供程序的處理和使用,同時可以將文件看作Python中的一種數(shù)據(jù)類型。是用函數(shù)open()的語法格式如下。

open(filename, mode='r', buffering=None, encoding=None, errors=None,
     newline=None, closefd=True, opener=None)

open: 打開
      以什么樣的方式打開, 讀或?qū)?read, write
          以讀的方式:文本的方式, 二進制的方式
          以寫的方式:文本的方式,二進制的方式
      寫文件的時候:覆蓋,追加(兩種方式)

當使用上述函數(shù)open()打開一個文件后, 就會放回一個文件對象。上述格式中主要參數(shù)的具體說明如下所示:

  • filename:表示要打開的文件名。(路徑+文件名)
  • mode:模式。
  • buffering:可選參數(shù),緩沖區(qū)大小
  • encoding:文件編碼類型。
  •                 文本文件才有可能需要編碼,二進制文件不需要指定編碼 否則會報出異常
  • errors:編碼錯誤處理方式。
  • newline:控制通用換行符模式的行為。
  • closefd:控制在關(guān)閉文件時是否徹底關(guān)閉文件。

上述格式中,參數(shù)“mode”表示文件打開模式。在Python程序中,常用的文件打開模式如下表所示。

文件打開模式
模式 描述
r 以讀的方式打開文件(默認)
rb 以二進制的格式打開一個文件只用于讀。文件指針將會放在文件開頭。
r+ 打開一個文件用于讀寫。文件指針將會放在文件開頭。
rb+ 以二進制的格式打開一個文件用于讀寫。文件指針將會放在文件開頭。
w 以寫的方式打開,先清空文件再寫(覆蓋),如果該文件不存在,創(chuàng)建新文件
wb 以二進制的格式打開文件并寫入,先清空文件再寫(覆蓋),如果該文件不存在,創(chuàng)建新文件。
w+ 以二進制的格式打開一個文件用于讀寫。先清空文件再寫(覆蓋),如果該文件不存在,創(chuàng)建新文件。
wb+ 以二進制的格式打開文件并讀寫,先清空文件再寫(覆蓋),如果該文件不存在,創(chuàng)建新文件。
a 以追加的方式去寫
ab 以二進制的格式打開一個文件夾用于追加。如果該文件存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)容將會寫入到已有的內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件。
a+ 打開一個文件用于讀寫。如果該文件存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件。
ab+ 以二進制格式打開一個文件用于追加。如果該文件存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件。

下圖很好的總結(jié)了這幾種模式:

#默認以文本讀的方式打開
file_obj = open("file.txt", encoding="utf-8")
data = file_obj.read()
print(data)
file_obj.close()
 
file_obj = open("file.txt", "rt", encoding="utf-8")
data = file_obj.read()
print(data)
file_obj.close()
 
file_obj = open("file.txt", "w", encoding="utf-8")
data = file_obj.write("11111111111111111")
print(data)
file_obj.close()
 
 
file_obj = open("file2.txt", "w", encoding="utf-8")
data = file_obj.write("11111111111111111")
print(data)
file_obj.close()
 
file_obj = open("file2.txt", "a", encoding="utf-8")
data = file_obj.write("2222222222222")
print(data)
file_obj.close()
 
file_obj = open("file3.txt", "a+", encoding="utf-8")
file_obj.write("33333333333333333333333333")
file_obj.close()
 
file_obj = open("file.txt", encoding="utf-8")
data = file_obj.read()
file_obj.close()

1.1.2二進制的方式(打開):圖片,音頻,視頻或者其他的非文本的文件。

#打開”IO.png“文件,并以二進制的方式讀出,  b不能單獨使用(b前的r不能省略)
file_obj = open("IO.png", "rb")
data = file_obj.read()
print(data)
#關(guān)閉文件
file_obj.close()
#以二進制的方式寫入文件”psb_copy.jpg“
file_obj = open("psb_copy.jpg", "wb")
file_obj.write(data)
#關(guān)閉文件
file_obj.close()

注意:“IO.png”文件中,以存入了一張照片。

2.文件的操作

以文本方式寫入的文件, 無需指定編碼 以二進制方式寫入文件,寫入的內(nèi)容要 求為bytes,所以通過str.encode('utf-8')來返回 bytes

1.2.1 文件寫操作:

write()方法 f.write("hello world") #向目標文本文 件寫入一行字符串                            

f.write("hello world".encode("utf-8")) # 向目標二進制文件寫入一行字符串

1.2.2文件寫操作:

writelines()方法寫入 文件的字符串序列。

seq = ["hello world 1\n", "nihao wohao 2"] f.writelines( seq ) 7/15

1.2.3 文件讀操作:

read()方法從文件讀取指定的字節(jié)數(shù),如果未給定或為負則讀取所有。

ret = f.read() #默認全部讀出 ret = f.read(5) #讀出指定長度字符

1.2.4 文件讀操作:

readline()方法可以讀 出一行數(shù)據(jù) ret = f.readline() #讀取一行

注意:有個很像的 readlines()方法 ret = f.readlines() #返回的是一個列 表,且返回的是你讀取的字符所在行的整個內(nèi)容,但是當數(shù)據(jù)較大時,這樣的用法會很占 用內(nèi)存。

       

3.使用File操作文件        

3.1File對象的介紹

File對象中的屬性信息如下表所示。

File對象中的屬性信息

屬性 描述
file.closed 如果文件已關(guān)閉返回True;否則返回False
file.mode 返回打開文件的訪問模式
file.name 返回文件的名稱

在Python程序中,對象File時通過內(nèi)置函數(shù)實現(xiàn)對文件操作的,其中常用的內(nèi)置函數(shù)如下。     

File對象中的內(nèi)置函數(shù)

函數(shù) 功能
file.close() 關(guān)閉文件,關(guān)閉文件后不能再進行讀寫操作
file.flush() 刷新文件內(nèi)部緩沖區(qū),直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)寫入文件,而不是被動的等待輸出緩沖區(qū)寫入。
file.fileno() 返回一個整形的文件描述,可以用在如os模塊的read方法等一些底層操作上
file.isatty() 如果文件連接到一個終端設(shè)備返回True,否則返回False
file.next() 返回文件下一行
file.read([size]) 從文件讀取指定的字節(jié)數(shù),如果為給定或者為負值,則讀取所有字節(jié)
file.readline([size]) 讀取整行,包括“\n”
file.readlines([hint]) 讀取所有行并返回列表,如給定hint>,返回總合大于約為hint字節(jié)的行,實際讀取值可能比hine大,因為需要填充緩沖區(qū)
file.seek(offsrt[, whence]) 設(shè)置文件當前位置
file.tell 返回文件當前位置
file.truncate([size]) 截取文件,截取的字節(jié)通過size指定,默認為當前文件的位置
file.write(str) 將字符串寫入文件,沒有返回值
file.writeline(lines) 向文件寫入一個序列字符串列表,如果需要換行,則要自己加入換行符。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評論

海丰县| 银川市| 鹤岗市| 上思县| 婺源县| 武宁县| 延寿县| 海宁市| 抚顺市| 花莲市| 天水市| 大名县| 德阳市| 吉林省| 东阿县| 怀远县| 丹东市| 长沙市| 永泰县| 阳朔县| 高青县| 娄底市| 共和县| 湟中县| 依兰县| 池州市| 海阳市| 宿州市| 呼和浩特市| 黄冈市| 久治县| 贵定县| 湖北省| 闽侯县| 旌德县| 太原市| 五台县| 奇台县| 买车| 曲水县| 长垣县|