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

歡迎訪問 生活随笔!

生活随笔

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

python

python_10_文件操作

發布時間:2025/3/15 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python_10_文件操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件操作邏輯?

  • 打開文件,賦值給一個對象
  • 用對象操作文件
  • 關閉文件
  • 如何打開文件?

    ?????? 在windows中,默認格式gbk,python3.x默認unicode(utf-8),要指定編碼值

    ?????? 語法:

      f = open(“文件名”, 打開模式,encoding = “utf-8”)

    ?????   -- 打開文件,賦給f,f叫文件句柄(文件內存對象)

    ?????????????   f.操作

    ?????????????   f.close()??????? -- 要手動關閉

    ??????   - 句柄包含(文件名字,大小,字符編碼,硬盤上起始位置)

    ?????? 另:

    ????????????? with open(“文件名”, 打開模式,encoding = “utf-8”) as f:

            -- 可以同時打開多個文件,逗號隔開

    ???????????????????? f.操作

    ?????????????    -- 不需要手動關閉,有個強制縮進

    ?????? 打開模式:

    ???????????????????? -- r 讀 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?- 不寫默認,只能讀取

    ???????????????????? -- w 寫 ???????????????????????????? - 沒有新建一個,有寫入并且自動清空原本數據,只能寫

    ???????????????????? -- a 追加 ????????????????????????? - 寫入數據追加在文件最后,只能追加

    ???????????????????? -- r+? 讀寫? ????????????????????? - 寫入數據以追加方式加入,可讀(最多)

    ???????????????????? -- w+ 寫讀 ? ? ? ? ? ? ? ? ? ? ? ?- 先新建文件,寫入數據然后可以讀(少用)

    ???????????????????? -- a+ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 追加讀 (和r+效果一樣)

    ???????????????????? -- rb? 二進制讀 ? ? ? ? ? ? ? ? ?- 用于網絡數據傳輸

    ???????????????????? -- wb 二進制寫 ? ? ? ? ? ? ? ? - write(字符.encode(“utf-8”)),或在字符前面多個字符b

    ?????? 二進制和字符串嚴格區分

    ????????????? -rU ?????????????? - 換行字符適配,在linux中\n換行,在window中\r\n換行

    ?????? ?????? -- 文件內容存取機制,插入數據,不會往后擠,而是覆蓋掉

    對文件有哪些操作?

    ?????? -- f.read(數字)?????? - 寫入數字就讀取幾個字符,不寫讀全部,f.readable(),文件可讀?

          - 讀取所有的值,第一次讀取從文件指針出讀,讀完指針已經指向文件最后,所以第二次讀取無值,可以通過文件指針操作把指針指向起點

      -- f.readline()?? ????????? - 讀取文件一行數據

      -- f.writ(字符) ? ? ? ? ? ? - 打開文件有w,a模式,才能寫,f.writable文件可寫?

      -- f.tell() ? ? ? ? ? ? ? ? ? ? - 打印指針當前位置,和seek方法一起使用

      -- f.seek(數字)??????   ?- 指針回到指定位置,f.seekable()判斷指針可移動?fttp和設備文件名

      -- f.encoding ? ? ? ? ? ? - 打印文件編碼

      -- f.fileno() ? ? ? ? ? ? ? ? - 返回操作系統文件句柄編號

      -- f.name() ? ? ? ? ? ? ? ? - 打印文件名字

      -- .flush ? ? ? ? ? ? ? ? ? ? - 強制把緩沖數據寫入磁盤,對數據的時效性要求高

      -- f.truncate() ? ? ? ? ? ?- 不寫默認清空,從頭截斷多少個字符,斷點后面內容清空

    怎么用flush寫一個在屏幕上打印的進度條?

    import sys,time for i in range(20):sys.stdout.write('*')sys.stdout.flush()time.sleep(0.2)

    如何更改文件內容?

  • 先把文件加載到內存中,修改,最后寫會磁盤,如果打開大文件,加載時間會有點長
  • 打開文件,新建另外一個新文件,讀,然后寫,修改后寫入新文件(不更改原文件,不需要加載到內存)
  •   如何用第二中方法更改文件內容?

    ?     f =open(‘原文件’,’r’,encoding = ‘utf-8’)

    ?     f_new = open(‘新文件’,’w’, encoding = ‘utf-8’)

    ?     for line in f:

    ???????????????   if “想要修改的地方” in line:

    ??????????????????????   line = line.replace(“修改的內容”)

    ???????????????   f_new.write(line)

        f.close

        f_new.close

    轉載于:https://www.cnblogs.com/2bjiujiu/p/6668420.html

    總結

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

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