乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python基礎(chǔ)必掌握的文件讀寫操作詳解

       excel05 2022-06-16 發(fā)布于福建

      讀取和寫入文件等操作是 Python 可以完成的最常見任務(wù)之一。無論是寫入簡(jiǎn)單的文本文件,還是讀取復(fù)雜的服務(wù)器日志,甚至分析原始字節(jié)數(shù)據(jù),進(jìn)行相關(guān)的處理操作,最終所有這些情況都需要讀取或?qū)懭胛募?/span>

      整套學(xué)習(xí)自學(xué)教程中應(yīng)用的數(shù)據(jù)都是《三國志》、《真·三國無雙》系列游戲中的內(nèi)容。

      文章圖片1

      文件的基本概念

      文件是一組用于存儲(chǔ)數(shù)據(jù)的連續(xù)字節(jié)。這些數(shù)據(jù)以特定格式組織,可以是文本文件等簡(jiǎn)單的文件,也可以是可執(zhí)行程序等復(fù)雜的文件。這些字節(jié)文件然后被翻譯成二進(jìn)制文件1,0 便于計(jì)算機(jī)進(jìn)行處理。

      文章圖片2

      文件包含三個(gè)部分:

      1. Header: 關(guān)于文件內(nèi)容的元數(shù)據(jù)(文件名、大小、類型等)。
      2. Data: 由創(chuàng)建者或編輯者編寫的文件內(nèi)容。
      3. EOF: 表示文件結(jié)束的特殊字符。
      文章圖片3

      數(shù)據(jù)表示的內(nèi)容取決于所使用的格式規(guī)范通常由擴(kuò)展名表示。例如擴(kuò)展名為.jpg最有可能符合圖形交換格式規(guī)范的文件但未必是圖片文件。

      擴(kuò)展名有數(shù)百甚至數(shù)千個(gè)文件擴(kuò)展名。這里介紹 .txt 和 .csv 擴(kuò)展名。

      文件路徑

      訪問文件需要文件路徑,文件路徑由字符串組成。其中包括三個(gè)部分:

      1. 文件夾路徑: 文件系統(tǒng)上的文件夾位置,后續(xù)文件夾由正斜杠 / (Unix) 或反斜杠 \ (Windows) 分隔。
      2. 文件名: 文件的實(shí)際名稱。
      3. 擴(kuò)展名: 文件路徑的末尾以句點(diǎn) ( .) 開頭,用于指示文件類型。
      文章圖片4
      文章圖片5

      行尾

      行為可以追溯到摩爾斯電碼時(shí)代,當(dāng)時(shí)使用特定的符號(hào)來傳達(dá)傳輸?shù)慕Y(jié)束或行的結(jié)束。

      Windows 使用 CR+LF 字符來表示新行,而 Unix 和較新的 Mac 版本僅使用LF字符。這些符號(hào)都是不可見的,但是可以操作。

      # windowsHello World\r\nDynasty Warriors\r\n

      字符編碼

      未來還會(huì)面臨的一個(gè)字符數(shù)據(jù)編碼的問題。兩種最常見的編碼是ASCII和UNICODE格式。

      • ASCII 智能存儲(chǔ) 128 個(gè)字符。
      • Unicode 最多可以包含 1,114,112 個(gè)字符。

      在 Python 中打開和關(guān)閉文件

      調(diào)用 open() 內(nèi)置函數(shù)來完成,其中包含一個(gè)文件路徑的文件關(guān)鍵參數(shù)。

      file = open('data.txt')

      調(diào)用 .close() 對(duì)打開的文件進(jìn)行關(guān)閉。

      file.close()

      可以調(diào)用 with語句 在執(zhí)行打開操作模塊后自動(dòng)進(jìn)行關(guān)閉。

      with open('data.txt', 'r') as f:    .......

      讀寫參數(shù)說明。

      文章圖片7

      讀寫參數(shù)組合。

      文章圖片8

      文本文件類型

      文本文件是您會(huì)遇到的最常見的文件。

      # 打開方式舉例open('data.txt')open('data.txt', 'r')open('data.txt', 'w')type(file)<class '_io.TextIOWrapper'>

      緩沖的二進(jìn)制文件類型

      # 打開方式舉例file = open('abc.txt', 'rb') # 讀type(file)<class '_io.BufferedReader'>file = open('abc.txt', 'wb') # 寫type(file)<class '_io.BufferedWriter'>

      原始文件類型

      file = open('abc.txt', 'rb', buffering=0)type(file)<class '_io.FileIO'>

      讀寫打開的文件

      讀取文件時(shí)可以調(diào)用的方法。

      # size這最多從該行中讀取多個(gè)字符。這一直持續(xù)到行尾,然后回繞。如果沒有傳遞或傳遞參數(shù)None,-1則讀取整行(或該行的其余部分)。.readline(size=-1)  # 這將從文件對(duì)象中讀取剩余的行并將它們作為列表返回。.readlines()    

      .read(size=-1),size字節(jié)數(shù)從文件中讀取。如果沒有傳遞或傳遞參數(shù)None,-1則讀取整個(gè)文件。

      with open('data.txt', 'r') as f: print(f.read())data data datadata data datadata data data

      .readline(size=-1),從該行中讀取多個(gè)字符。這一直持續(xù)到行尾,然后回繞。如果沒有傳遞或傳遞參數(shù)None,-1則讀取整行(或該行的其余部分)。

      with open('data.txt', 'r') as f:    print(f.readline(2))data data datadata data data

      .readlines(),這將從文件對(duì)象中讀取剩余的行并將它們作為列表返回。

      with open('data.txt', 'r') as f: print(f.readlines())data data datadata data datadata data data

      遍歷文件中的每一行

      .readline() 方法每次遍歷一行。

      with open('data.txt', 'r') as f:    line = f.readline()    while line != '':        print(line, end='')        line = f.readline()data data datadata data datadata data data

      .readlines() 方法返回一個(gè)列表,其中列表中的每個(gè)元素代表文件中的一行。

      with open('data.txt', 'r') as f: for line in f.readlines(): print(line, end='')data data datadata data datadata data data# 或者簡(jiǎn)化操作with open('data.txt', 'r') as f: for line in f: print(line, end='')data data datadata data datadata data data

      文件的讀寫是相對(duì)的,方法和讀取一樣。

      with open('data.txt', 'r') as f:    lines = f.readlines()    f.write(lines)

      字節(jié)操作

      使用字節(jié)字符串處理文件。這是通過將 'b' 字符添加到參數(shù)來完成的。

      with open('data.jpg', 'rb') as f: print(f.readline())b'\x89'b'JPG'b'\r\n'b'\x1a'b'\n'

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多