亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      python

      當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

      Python3編碼如何實(shí)現(xiàn)文件操作?

      來(lái)源:中華考試網(wǎng)  [2020年11月13日]  【

        想要通過(guò) Python 代碼操作某個(gè)文件,必須要有三個(gè)元素:

        path:文件的路徑

        mode:r / w / r+ / w+ / a

        encoding:編碼方式

        2. 文件句柄包括:f / file / file_handler, f_h...

        3. open() 是內(nèi)置函數(shù),實(shí)際上是調(diào)用操作系統(tǒng)對(duì)文件操作的功能

        4. 各系統(tǒng)的默認(rèn)編碼方式:

        Windows:GBK

        Linux:UTF-8

        IOS:UTF-8

        5. 對(duì)文件的任何操作都需要借助文件句柄

        6. f.close():打開某個(gè)文件后一定要記得關(guān)閉它,否則會(huì)一直在內(nèi)存中占用資源

        7.打開某個(gè)文件并讀取其中內(nèi)容的方法:

        f = open("G:\test.txt", mode="r", encoding="utf-8")

        content = f.read()

        print(content)

        f.close()

        # 運(yùn)行報(bào)錯(cuò),原因解析:

        # 路徑錯(cuò)誤,系統(tǒng)會(huì)認(rèn)為 \t 是一個(gè)轉(zhuǎn)義字符

        # 解決辦法:

        # 1) "G:\\test.txt"

        # 2) r"G:\test.txt"

        # 另外,這里不能把反斜杠 \ 改為斜杠 /,因?yàn)椴煌到y(tǒng)之間的斜杠與反斜杠之間會(huì)有不同的定義

        # 使用 open() 打開某個(gè)文件報(bào)錯(cuò),除了上面提到的路徑問(wèn)題

        # 還有一個(gè)可能的原因,即編碼問(wèn)題

        # 比如在 Windows 系統(tǒng)上編寫了一個(gè) .txt 文件并保存

        # 在 Pycharm 里面打開該文件就會(huì)發(fā)現(xiàn)內(nèi)容很有可能是亂碼的

        # 原因就是兩者的編碼方式是不一樣的

        8. 文件操作涉及到路徑問(wèn)題,路徑分為兩種:

        絕對(duì)路徑:從磁盤根目錄開始,直到找到文件

        相對(duì)路徑:從當(dāng)前路徑 (當(dāng)前文件夾) 找到文件

        9. r 模型下的五種讀取方式

        # 假設(shè) test.txt 文件與本 Python 文件在同一個(gè)目錄下

        # test.txt 文件里的內(nèi)容如下:

        這是第一行的內(nèi)容...

        這是第二行的內(nèi)容...

        這是第三行的內(nèi)容...

        這是第四行的內(nèi)容...

        這是第五行的內(nèi)容...

        ######## 1. read():全部讀取出來(lái) ########

        f = open("test.txt", mode="r", encoding="utf-8")

        content = f.read()

        print(content)

        f.close()

        # 運(yùn)行結(jié)果:

        這是第一行的內(nèi)容...

        這是第二行的內(nèi)容...

        這是第三行的內(nèi)容...

        這是第四行的內(nèi)容...

        這是第五行的內(nèi)容...

        ######## 2. read(n):讀取 n 個(gè)字符 ########

        f = open("test.txt", mode="r", encoding="utf-8")

        content = f.read(3)

        填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽java課程!害怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

      預(yù)約申請(qǐng)免費(fèi)聽java課程

      • 地區(qū):
      • 姓名:
      • 手機(jī):

        print(content)

        f.close()

        # 運(yùn)行結(jié)果:

        這是第

        ######## 3. readline():按行讀取 ########

        f = open("test.txt", mode="r", encoding="utf-8")

        line1_content = f.readline()

        print(line1_content, type(line1_content))

        # 這是第一行的內(nèi)容...

        #

        line2_content = f.readline()

        print(line2_content, type(line2_content))

        # 這是第二行的內(nèi)容...

        #

        f.close()

        ######## 4. readlines():返回一個(gè)列表 ########

        f = open("test.txt", mode="r", encoding="utf-8")

        content = f.readlines()

        print(content)

        f.close()

        # 運(yùn)行結(jié)果:

        ['這是第一行的內(nèi)容...\n', '這是第二行的內(nèi)容...\n', '這是第三行的內(nèi)容...\n', '這是第四行的內(nèi)容...\n', '這是第五行的內(nèi)容...\n']

        ######## 5. for 循環(huán):讀取大文件 ########

        # 當(dāng)一個(gè)文件很大時(shí),比如它有 9G,但是電腦內(nèi)存只有 8G

        # 如果使用上面的方法一次性全部讀取出來(lái),那么電腦就會(huì)掛掉

        # 解決辦法就是使用 for 循環(huán),只有每次循環(huán)時(shí)才占內(nèi)存

        f = open("test.txt", mode="r", encoding="utf-8")

        for line in f:

        print(line.strip())

        f.close()

        # 運(yùn)行結(jié)果:

        這是第一行的內(nèi)容...

        這是第二行的內(nèi)容...

        這是第三行的內(nèi)容...

        這是第四行的內(nèi)容...

        這是第五行的內(nèi)容...

        # 如果是直接 print(line),注意看結(jié)果:

        這是第一行的內(nèi)容...

        這是第二行的內(nèi)容...

        這是第三行的內(nèi)容...

        這是第四行的內(nèi)容...

        這是第五行的內(nèi)容...

        以上就是Python3編碼實(shí)現(xiàn)文件操作的方法。

      責(zé)編:fushihao
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語(yǔ)考試
      • 學(xué)歷考試