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

歡迎訪問 生活随笔!

生活随笔

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

python

python成长之路9——文件操作open

發布時間:2025/7/14 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python成长之路9——文件操作open 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 打開文件

f = open("db","r",encoding="utf8")

  • r:只讀
  • w:只寫,會先清空文件
  • a:追加
  • x:如果文件存在,則報錯,否則,創建文件并只寫
  • b:上面的參數都可以加“b”,意思是以二進制形式打開文件,讀取寫入的都是字節,就不需要考慮“encoding”啦
  • encoding="utf8":告訴python解釋器用utf8進行轉碼,當我們讀取字符串時解釋器會將字節轉換成字符串,當我們寫入字符串時解釋器會把字符串自動轉換成字節,這個過程是python解釋器完成的,我們只要確保文件打開時的編碼和文件保存時的編碼保持一致就行
  • +:r+,w+,a+,x+都是讀寫,但是我們一般用r+,因為,w+會先清空文件,a+是追加,x+文件存在會報錯
  • with open("文件名","打開方式",encoding="utf8") as f: 推薦用這種文件打開方式,不用關閉文件而且可以同時打開兩個文件,如下: ? ? ? ? ? ? ?with open("db","r",encoding="utf8") as f1, open("db2","w",encoding="utf8") as f2
  • 例子:用“b”打開文件

    1 #用b打開文件 2 with open("db","wb") as f: 3 temp=bytes("張燕",encoding="utf8") 4 print(temp) 5 f.write(temp) 6 with open("db","rb") as f: 7 print(f.read()) 8 9 執行結果: 10 b'\xe5\xbc\xa0\xe7\x87\x95' 11 b'\xe5\xbc\xa0\xe7\x87\x95' 用b打開文件

    二. 操作文件

  • read(): 無參數,讀全部;有參數(n),文件打開加b的話讀取n個字節,無b的話讀取n個字符
  • tell(): ?獲取當前指針的位置(字節)
  • seek():指針跳到指定位置(字節)
  • write():寫數據,文件打開加b的話,寫字節;無b的話,寫字符
  • fileno():文件描述符
  • flush():從內存刷到硬盤
  • readable():文件可讀返回True,否則False
  • readline():讀取一行
  • truncate():截斷文件,會把指針之后的內容全部刪除
  • for line in f:循環文件每一行
  • f.close():關閉文件
  • 1 #seek是不受encoding的影響的,seek都是按字節的,如果你有中文,seek(1)會把這個中文劈開 2 with open("db","r+",encoding="utf8") as f: 3 f.seek(3) 4 f.write("flag") 5 6 執行前db內容: 7 ab張燕ijklmnopqrstuvwxyz張杰 8 執行后db內容: 9 ab�flag�ijklmnopqrstuvwxyz張杰 10 11 #tell()獲取當前指針的位置,和seek一樣也是按字節來算的 12 with open("db","r+",encoding="utf8") as f: 13 print(f.read()) 14 with open("db","r+",encoding="utf8") as f: 15 print(f.read(2)) 16 print(f.tell()) 17 18 執行結果: 19 張燕abcdefghijklmnopqrstuvwxyz 20 張燕 21 6 seek和tell 1 #f.write() 從指針位置開始寫,如果指針在文件中間會覆蓋對應的字節 2 # 但是如果一旦開始讀文件,不管有沒有讀到文件尾,python規定都會從文件尾開始寫 3 with open("db","r+",encoding="utf8") as f: 4 f.seek(2) 5 f.write("張燕") 6 f.seek(0) #主動把指針調到文件開頭 7 data = f.read(12) 8 print(data) 9 f.write("張杰") 10 f.seek(0) 11 data = f.read() 12 print(data) 13 14 執行結果: 15 ab張燕ijklmnop 16 ab張燕ijklmnopqrstuvwxyz張杰 write 1 #f.truncate() 2 #截斷文件,會把指針之后的內容全部刪除 3 with open("db","r+",encoding="utf8") as f: 4 print(f.read()) 5 f.seek(3) 6 f.truncate() 7 f.seek(0) 8 print(f.read()) 9 10 執行結果: 11 1234567890 12 123 truncate

    ?

    轉載于:https://www.cnblogs.com/meitangyanyan/p/6424818.html

    總結

    以上是生活随笔為你收集整理的python成长之路9——文件操作open的全部內容,希望文章能夠幫你解決所遇到的問題。

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