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

歡迎訪問 生活随笔!

生活随笔

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

python

Python 文件读写操作-Python零基础入门教程

發布時間:2024/9/27 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 文件读写操作-Python零基础入门教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一.Python 文件的打開 open
  • 二.Python 文件的關閉 close
  • 三.Python 文件的讀取 read
    • 1.read 函數
    • 2.readline 函數
    • 3.readlines 函數
  • 四.Python 文件的寫入 write
    • 1.write 函數語法
    • 2.write 函數使用案例
  • 五.Python 文件偏移 seek
    • 1.seek 函數
    • 2.tell 函數
    • 3.seek / tell 函數示例代碼
  • 六.重點總結
  • 七.猜你喜歡

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

Python 除了通過 print 函數將數據輸出到控制臺,也可以通過讀 / 寫文件的方式讀取 / 輸出到磁盤文件中,文件讀寫簡稱 I / O 操作。Python 文件 I / O 操作一共分為四部分:

  • 打開(open)
  • 讀取(read)
  • 寫入(write)
  • 關閉(close)

一.Python 文件的打開 open

在 Python 中打開文件使用函數 open,該函數返回文件句柄,具體使用方法如下:

file = open("文件名","打開文件模式")# 示例代碼: # 打開d:/1.txt文件,如果d盤沒有這個文件,會自動在d盤創建1.txt的空白文件,file是返回的文件句柄供讀/寫/關閉文件操作 file = open("d:/1.txt","wb")

其中,打開文件模式有以下幾種類型

二.Python 文件的關閉 close

文件在打開讀寫之后記得要有關閉操作,就好比蹲完坑得擦屁股,關閉文件使用 close 函數。

注意:文件關閉之后,不能在繼續對文件讀寫操作,如果需要讀寫操作需要重新 open 打開文件。

close() # 關閉文件

三.Python 文件的讀取 read

文件打開之后,可以通過返回的文件句柄讀取文件中的內容,文件讀取有以下幾個函數:

1.read 函數

''' 參數:count - 表示需要讀取的文字長度, conut 是缺省參數,如果沒有設置 count 值,默認讀取整個文件所有內容,該函數返回讀取到的內容;返回值:返回讀取到的內容; 文件讀取返回的內容并非字符串 str 類型,而是字節類型 bytes 類型,'b' 前綴代表的就是 bytes . '''read( [count] )

2.readline 函數

//讀取文件一行數據,返回讀取的內容readline()

3.readlines 函數

//讀取文件的所有行內容,返回讀取的所有內容,注意:返回的數據類型是列表,列表中每個數據都是文件中的一行數據readlines()

**注意:文件讀取返回的內容并非字符串 str 類型,而是字節類型 bytes 類型,’b’ 前綴代表的就是 bytes . **

**如果想將 bytes 類型轉為字符串直接使用 bytes.decode 方法即可,decode 方法默認使用 UTF-8 編碼;**假如 d:/1.txt 中的內容如下:

@Blog(個人博客地址): www.codersrc.com @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

文件讀取的三種方式示例代碼如下:

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 文件讀寫操作.py @Time:2021/04/17 10:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 方法一: print("方法一:使用 read() 函數讀取txt內容") file_object = open("d:/1.txt","rb") contents = file_object.read() # 默認讀取所有內容# 讀取文件內容,如果文件中含有中文需要decode()解碼,否則中文無法顯示 print(contents) print("---"*20) # 使用decode()解碼中文,默認解碼格式為utf-8 print("使用decode()函數解碼中文:") print(contents.decode()) file_object.close()print("***"*20)# 方法二: print("方法二:使用 readline() 函數讀取txt內容") file_object = open("d:/1.txt","rb") while True:contents = file_object.readline()print(contents.decode())# 使用decode()解碼中文,默認解碼格式為utf-8if len(contents) == 0: # 讀取內容長度為0,讀取結束break file_object.close()print("***"*20)# 方法三: print("方法三:使用 readlines() 函數讀取txt內容") file_object = open("d:/1.txt","rb") # readlines() 返回列表,一行數據就是列表中的一個元素 contents = file_object.readlines() # 遍歷列表 for content in contents:print(content.decode())# 使用decode()解碼中文,默認解碼格式為utf-8 file_object.close()''' 輸出結果:方法一:使用 read() 函數讀取txt內容b'@Blog(\xe4\xb8\xaa\xe4\xba\xba\xe5\x8d\x9a\xe5\xae\xa2\xe5\x9c\xb0\xe5\x9d\x80): www.codersrc.com\r\n@WeChat Official Account(\xe5\xbe\xae\xe4\xbf\xa1\xe5\x85\xac\xe4\xbc\x97\xe5\x8f\xb7)\xef\xbc\x9a\xe7\x8c\xbf\xe8\xaf\xb4python\r\n@Motto:\xe4\xb8\x8d\xe7\xa7\xaf\xe8\xb7\xac\xe6\xad\xa5\xe6\x97\xa0\xe4\xbb\xa5\xe8\x87\xb3\xe5\x8d\x83\xe9\x87\x8c\xef\xbc\x8c\xe4\xb8\x8d\xe7\xa7\xaf\xe5\xb0\x8f\xe6\xb5\x81\xe6\x97\xa0\xe4\xbb\xa5\xe6\x88\x90\xe6\xb1\x9f\xe6\xb5\xb7\xef\xbc\x8c\xe7\xa8\x8b\xe5\xba\x8f\xe4\xba\xba\xe7\x94\x9f\xe7\x9a\x84\xe7\xb2\xbe\xe5\xbd\xa9\xe9\x9c\x80\xe8\xa6\x81\xe5\x9d\x9a\xe6\x8c\x81\xe4\xb8\x8d\xe6\x87\x88\xe5\x9c\xb0\xe7\xa7\xaf\xe7\xb4\xaf\xef\xbc\x81\r\n' ------------------------------------------------------------ 使用decode()函數解碼中文: @Blog(個人博客地址): www.codersrc.com @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!************************************************************ 方法二:使用 readline() 函數讀取txt內容@Blog(個人博客地址): www.codersrc.com @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!************************************************************ 方法三:使用 readlines() 函數讀取txt內容@Blog(個人博客地址): www.codersrc.com @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累! '''

四.Python 文件的寫入 write

1.write 函數語法

文件寫入可通過函數 write 完成,使用比較簡單,先看看語法:

//直接傳入 bytes 類型的字符即可,'b' 前綴代表的就是bytes.write( [bytes] )

2.write 函數使用案例

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 文件讀寫操作.py @Time:2021/04/17 10:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""file_object = open("d:/2.txt","wb")# '\n' 是文件I/O中的換行符,寫完文件之后,自動換行 file_object.write(b"1234567\n") # 注意單引號和雙引號的配合使用 file_object.write(b"file_object.write(b'sad')\n") file_object.write(b"python \n")file_object.close()''' 代碼執行完成后,d:/2.txt文件內容如下:1234567 file_object.write(b'sad') python '''

注意:寫入方式 ‘wb’ ,每次寫入文件都會覆蓋上一次的內容,即寫入之前的內容會被清空;

五.Python 文件偏移 seek

有人看了上面 read 函數的示例代碼可能會覺得頻繁的打開和關閉文件會比較麻煩。那么僅僅打開和關閉文件一次,通過文件的偏移也能完成上述功能,文件的偏移使用** seek** 函數 。一般而言,seek 函數和 tell 函數都搭配使用;

1.seek 函數

''' 參數:offset - 表示相對whence 偏移多少個字節;whence - 表示偏移的位置,0 代表從文件開頭開始算起,1 代表從當前位置開始算起,2 代表從文件末尾算起;'''seek([offset],[whence])

2.tell 函數

// 相對于文件開始位置,當前偏移的字節數seek([offset],[whence])

小竅門:tell 函數也可以用來計算整個文件的 bytes 長度;

3.seek / tell 函數示例代碼

# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python 文件讀寫操作.py @Time:2021/04/17 10:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""file_object = open("d:/2.txt","rb")# 獲取當前的文件偏移,由于還沒開始讀取內容,偏移量等于 0 count = file_object.tell() print(count) # 讀取文本所有數據內容,文件自動偏移到文件末尾 contents = file_object.read() # 獲取整個文件的偏移量 ,實際上就是文件內容的大小 count = file_object.tell() print(count) # 將文件指針偏移到文件開始位置 file_object.seek(0,0) # 讀取一行數據,按道理講應該是獲取第一行數據 contents = file_object.readline() print(contents.decode()) # 獲取當前偏移量 count = file_object.tell() print(count) # 繼續讀取一行數據 contents = file_object.readline() print(contents.decode()) # 獲取當前偏移量 count = file_object.tell() print(count) file_object.close()''' 輸出內容:0 474 python教程 - 猿說python : 第一行數據 www.codersrc.com 68 python教程 - 猿說python : 第二行數據 www.codersrc.com 136 '''

注意:一般只要調用 read / readline / readlines / write 等函數,文件指針會自動發生偏移。

六.重點總結

  • 1.read 函數可以設置讀取指定的長度,例如:只讀取 10 個字符 read(10);
  • 2.readlines 返回值是列表 list,并非 bytes 類型,而列表中的每一個元素都是文件中的一行數據,類型是 bytes 類型;
  • 3.如果文件讀取的內容含有中文,需要通過函數 decode 方法解碼轉為字符串,decode 方法默認為 UTF-8 解碼;
  • 4.文件 open 之后記得 close ,養成良好的書寫習慣;

七.猜你喜歡

  • Python for 循環
  • Python 字符串
  • Python 列表 list
  • Python 元組 tuple
  • Python 字典 dict
  • Python 條件推導式
  • Python 列表推導式
  • Python 字典推導式
  • Python 函數聲明和調用
  • Python 不定長參數 *argc/**kargcs
  • Python 匿名函數 lambda
  • Python return 邏輯判斷表達式
  • Python 字符串/列表/元組/字典之間的相互轉換
  • Python 局部變量和全局變量
  • Python type 函數和 isinstance 函數區別
  • Python is 和 == 區別
  • Python 可變數據類型和不可變數據類型
  • Python 淺拷貝和深拷貝
  • 未經允許不得轉載:猿說編程 ? Python 文件讀寫操作

    總結

    以上是生活随笔為你收集整理的Python 文件读写操作-Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

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