亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python筆記——文件讀寫操作過程(open與with open的區別)

系統 4434 0

文件的讀寫通常包含以下步驟:

  1. 文件的打開:open()
    open或with open會返回文件對象,必須用read或readlines之后才能打印
    在此我會介紹with open 與open之間的區別。提前劇透with open優于open
  2. 文件的讀入:read()
  3. 文件的寫入:write()
  4. 文件的關閉:close()

另外介紹兩個模塊的內容:

  • 文件的定位
  • 文件的屬性

一、文件的打開:open與with open(返回文件對象)


1、open

open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file :包含路徑的文件名。絕對路徑或者是相對路徑
mode| :選擇不同的模式可以對文件進行不同的操作, 默認屬性’rt’ ,即以只讀方式打開文本文件。

模式 描述
‘r’ 只讀方式: 默認屬性
‘w’ 寫入模式:如果該文件已存在則打開文件,并從開頭開始編輯,原有內容被刪除。如果文件不存在,創建新文件
‘x’ 只寫模式:新建一個文件,如果該文件已存在則會報錯。
‘a’ 追加模式:如果文件存在,指針放在文件結尾。新內容將會被寫入到已有內容之后。如果文件不存在,創建新文件寫入
‘b’ 二進制模式。
‘t’ 文本模式: 默認屬性
‘+’ 打開一個文件進行更新(可讀可寫)
‘U’ 通用換行模式(不推薦)

以下幾點是總結:參考原文:https://www.cnblogs.com/xyf9575/p/7039548.html

  • w 寫模式,它是不能讀的,如果用w模式打開一個已經存在的文件,會清空以前的文件內容,重新寫
    w+ 是讀寫內容,只要 沾上w,肯定會清空原來的文件
  • r 讀模式,只能讀,不能寫,而且文件必須存在
    r+ 是讀寫模式,只要 沾上r,文件必須存在
  • a 追加模式,也能寫,在文件的末尾添加內容
  • rb+、wb+、ab+,這種是二進制模式打開或者讀取,一些音樂文件

2、with open與open的區別

with open() as f的好處

  1. 無論出現是否出現error都會關閉文件
  2. 使用它的時候python會自動確定關閉時間,你只管打開文件并使用它。
    所以with open 是我們的首選,而非只使用open

二、文件的讀入:

此模塊常用的函數有:

  1. f.read():一次性讀取整個文件 或類似f.read(10)讀取從指針開始的10個字符。
  2. f.readlines():每次讀取文件的一行,存入列表中
    pandas中還有一些:
    python筆記——文件讀寫操作過程(open與with open的區別)_第1張圖片

pi_digits.txt

            
              
                3.1415926535
              
              
                8979323846
              
              
                2643383279
              
            
          

file_reader.py(看一下read()和readlines()的區別)

            
              
                >>
              
              
                >
              
               file_name 
              
                =
              
              
                'pi_digits.txt'
              
              
                >>
              
              
                >
              
              
                with
              
              
                open
              
              
                (
              
              file_name
              
                )
              
              
                as
              
               f
              
                :
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              f
              
                .
              
              read
              
                (
              
              
                )
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              f
              
                .
              
              readlines
              
                (
              
              
                )
              
              
                )
              
              
                3.1415926535
              
              
                8979323846
              
              
                2643383279
              
              
                ###以上三行結果是read的
              
              
                [
              
              
                '3.1415926535\n'
              
              
                ,
              
              
                '  8979323846\n'
              
              
                ,
              
              
                '  2643383279'
              
              
                ]
              
              
                ### 此行結果是readlines的
              
            
          

三、文件的寫入


1、寫入空文件:以’w’方式打開文件。

demo1

            
              file_name 
              
                =
              
              
                "love_letter"
              
              
                with
              
              
                open
              
              
                (
              
              love_letter
              
                ,
              
              
                'w'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
    f
              
                .
              
              write
              
                (
              
              
                "I love you\n"
              
              
                )
              
              
    f
              
                .
              
              write
              
                (
              
              
                "i love you\n"
              
              
                )
              
            
          

最終會顯示
I love you
i love you

2、在舊文件后面添加新內容:以’a’方式打開

demo2

            
              file_name 
              
                =
              
              
                "love_letter"
              
              
                with
              
              
                open
              
              
                (
              
              file_name
              
                ,
              
              
                'a'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
    f
              
                .
              
              write
              
                (
              
              
                "I also love you\n"
              
              
                )
              
            
          

最終會在demo1下面添加一行
I also love you

四、文件的關閉


如果是with open打開的不用管這個,如果是open打開的則需要在文末輸入下列代碼

            
              f
              
                .
              
              close
              
                (
              
              
                )
              
            
          

五、文件的定位(指針)


指針就相當于我們在word中輸入時候的光標,光標在哪文件就從哪開始輸入。

  • f.tell():報告當前指針位置
  • f.seek(offset,from)
    offset代表文件指針的偏移量,
    from代表從何處開始算:0代表文件起始位置,1代表當前位置,2代表文件末尾)偏移offset個字節)

使用open()方法打開文件時候,指針會默認在文件開始的地方。
f.read(3)是從指針所在的地方往后讀取三個字符,也就是說不改變指針的位置的話,f.read(3)就是讀取文件開頭的三個字符。
f.write()則是將指針放在文件末尾進行寫入,寫完之后指針依舊會在文件末尾。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久99国产精品久久99小说 | www.五月天激情 | 激情五月开心婷婷 | 精品国产乱码久久久久久浪潮 | 国产日韩不卡免费精品视频 | 91精品国产高清91久久久久久 | 四虎在线视频观看大全影视 | 亚洲精品一区二区三区四区 | 99热久久这里只有精品首页 | 国产亚洲天堂 | 5g国产精品影院天天5g天天爽 | 美女福利在线观看 | 日日干夜夜欢 | 精品99在线观看 | 亚洲久久在线 | 99久久99久久久精品齐齐鬼色 | 久久久性视频 | 午夜免费| 国产第五页| 四虎影永久在线观看精品 | 亚洲性大片 | 久久精品天天中文字幕人 | 97久久久亚洲综合久久88 | 四虎永久在线精品免费观看地址 | 伊人久久狼人 | 不卡视频在线播放 | aa大片成人免费网站 | 国产精品国产自线在线观看 | 国产欧美在线观看视频 | 极品吹潮视频大喷潮tv | 亚洲综合色婷婷久久 | 亚洲成aⅴ人片在线观 | 九九在线观看精品视频6 | 一级二级三级毛片 | 热久久影院 | 久久久久久久爱综合 | 欧美成人免费在线观看 | 午夜社区| 成人深夜网站 | 男女拍拍视频黄的全免费 | 999精品久久久中文字幕蜜桃 |