0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python文件的讀取

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:Python都知道 ? 2023-06-21 17:23 ? 次閱讀

文件讀取的步驟:

  • 打開文本文件對象
  • 寫入數(shù)據(jù)

文件的讀取一般使用如下三個方法:

  • read([size]) : 從文件中讀取 size 個字符,并作為結果返回如果沒有 size 參數(shù),則讀取整個文件. 讀取到文件末尾,會返回空字符串
  • readline(): 讀取一行內容作為結果返回讀取到文件末尾,會返回空字符串
  • readlines() : 文本文件中,每一行作為一個字符串存入列表中,返回該列表

代碼格式

with open(r"d:\\a.txt", "r"[, encoding="utf-8"]) as f:
    f.read(4)

注意:

  • 在讀取文件時, 需要注意讀寫時字符編碼的一致性 , 如果寫的時候沒有指定編碼(默認GBK), 則在讀取的時候也不需要指定編碼
  • 但如果讀的時候未指定編碼, 寫的時候指定, 則會報錯. 例如: 寫的時候指定 encoding="utf-8", 則控制臺報 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 13: invalid start byte

實操代碼

# 【操作】 讀取一個文件前4個字符
import pickle

with open(r"d:\\a.txt", "r") as f:
    print(f.read(4))

# 【操作】文件較小,一次將文件內容讀入到程序中
with open(r"d:\\aa.txt", "r") as f:
    print(f.read())

# 【操作】按行讀取一個文件
with open(r"d:\\b.txt") as f:
    while True:
        lines = f.readline()
        if not lines:  # 在python 中 if not 會將后面對象隱式轉成True或者False進行判斷, 因此遇到空字符串也返回False
            break
        else:
            print(lines, end="")
            print()

# 【操作】使用迭代器(每次返回一行)讀取文本文件
# 寫和讀的編碼要對應
with open(r"d:\\bb.txt", "r", encoding="utf-8") as f:
    for a in f:
        print(a, end="")

# 【操作】為文本文件每一行的末尾增加行號
with open(r"d:\\c.txt", "r") as f:
    lines = f.readlines()
    lines2 = [line.rstrip() + " # " + str(index) + "\\n" for index, line in zip(range(1, len(lines) + 1), lines)]
    with open(r"d:\\c.txt", "w") as ff:
        ff.writelines(lines2)

二進制文件的讀取和寫入

二進制文件的處理流程和文本文件流程一致。首先還是要創(chuàng)建文件對象, 創(chuàng)建好二進制文件對象后,仍然可以使用 write() 、 read() 實現(xiàn)文件的讀寫操作

在創(chuàng)建文件對象時, 首先需要指定二進制模式,然后才能創(chuàng)建出二進制文件對象. 例如

  • f = open(r"d:\\a.txt", 'wb') 可寫的、重寫模式的二進制文件對象
  • f = open(r"d:\\a.txt", 'ab') 可寫的、追加模式的二進制文件對象
  • f = open(r"d:\\a.txt", 'rb') 可讀的二進制文件對象

實操代碼

# 二進制文件的讀取和寫入(此操作相當于復制)
# f = open(r"d:\\a.txt", 'wb') #可寫的、重寫模式的二進制文件對象
# f = open(r"d:\\a.txt", 'ab') #可寫的、追加模式的二進制文件對象
# f = open(r"d:\\a.txt", 'rb') #可讀的二進制文件對象
with open(r"d:\\aaa.png", "rb") as scrFile, open(r"d:\\bbb.png", "wb") as destFile:
    for l in scrFile:
        destFile.write(l)

2.4. 文件對象的常用屬性和方法

文件對象的屬性圖片文件對象的打開模式

圖片文件對象的常用方法

圖片

文件任意位置操作

利用 seek() 可以將讀取文件的指針移動到指定字節(jié)位置上一個中文字符站兩個字節(jié), 而英文只占一個字節(jié)

實操代碼

print("=================文件任意位置操作======================")
# 【示例】 seek() 移動文件指針示例
with open(r"d:\\cc.txt", "r") as f:
    print("文件名是{0}".format(f.name))  # 文件名是d:\\cc.txt
    print(f.tell())  # 0
    print("讀取文件的內容", str(f.readline()))  # 讀取文件的內容 齊格飛齊格飛齊格飛
    print(f.tell())  # 18
    f.seek(4, 0)  # 中文占2個字節(jié), 因此在seek時需要是2的倍數(shù)
    print("文件讀取的內容", str(f.readline()))  # 文件讀取的內容 飛齊格飛齊格飛
    print(f.tell())  # 18
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 文件
    +關注

    關注

    1

    文章

    551

    瀏覽量

    24560
  • python
    +關注

    關注

    53

    文章

    4753

    瀏覽量

    84078
收藏 人收藏

    評論

    相關推薦

    如何在 Python讀取文本文件?

    本帖最后由 dife289 于 2021-6-29 18:22 編輯 文本文件是包含簡單文本的文件。Python 提供了內置函數(shù)來讀取、創(chuàng)建和寫入文本
    發(fā)表于 06-10 20:21

    Python 讀取文件的6種方式

    ;, 'r')file.read()如果你還在使用 Python2,那么它可以幫你處理掉 Python 2 下寫文件時一些編碼錯誤,一般的建議是:在 Python 3 下寫
    發(fā)表于 04-11 15:30

    如何通過pandas讀取csv文件指定的前幾行?

    今天小編給大家分享一篇Python技術開發(fā)方面的文章,如何實現(xiàn)pandas讀取csv文件指定的前幾行,喜歡Python開發(fā)的小伙伴下面就隨小編一起來了解一下吧。
    發(fā)表于 09-19 17:43 ?16次下載

    python接口文件使用說明

    首先,python接口文件在安裝好的darknet目錄下的python文件夾,打開就可以看到
    發(fā)表于 05-18 11:30 ?1981次閱讀
    <b class='flag-5'>python</b>接口<b class='flag-5'>文件</b>使用說明

    python文件讀取的源代碼免費下載

    本文檔的主要內容詳細介紹的是python文件讀取的源代碼免費下載。
    發(fā)表于 08-07 17:14 ?20次下載
    <b class='flag-5'>python</b><b class='flag-5'>文件</b><b class='flag-5'>讀取</b>的源代碼免費下載

    使用Python對壓縮文件的處理

    zipfile是Python里用來做zip格式編碼的壓縮和解壓縮的module,zipfile里有兩個非常重要的class:ZipFile和ZipInfo。ZipFile是主要的類,用來創(chuàng)建和讀取zip文件,而ZipInfo是存
    的頭像 發(fā)表于 03-29 11:29 ?2393次閱讀

    讀取公盤文件方法

    讀取公盤文件方法
    發(fā)表于 11-07 11:27 ?0次下載

    利用Python讀取多份Excel的小技巧

    在使用 Python 批量處理 Excel 時經常需要批量讀取數(shù)據(jù),常見的方式是結合glob模塊,可以實現(xiàn)將當前文件夾下的所有csv批量讀取,并且合并到一個大的DataFrame中
    的頭像 發(fā)表于 02-02 09:48 ?2203次閱讀

    介紹Python中常用的文件讀取方法以及應用示例

    ython 文件讀取Python 語言中的基本操作之一。在編寫Python 程序時,我們經常需要讀取不同的
    的頭像 發(fā)表于 04-27 09:16 ?925次閱讀

    網絡工程師學Python-文件處理

    當涉及到 Python 文件處理時, 我們通常會涉及到文件讀取和寫入, 以及文件的操作和處理。
    的頭像 發(fā)表于 04-27 09:21 ?562次閱讀

    python文件操作是什么

    一、什么是文件操作 一個完整的程序一般都包括數(shù)據(jù)的存儲和讀取;我們在前面寫的程序數(shù)據(jù)都沒有進行實際的存儲,因此python解釋器執(zhí)行完數(shù)據(jù)就消失了 實際開發(fā)中,我們經常需要從外部存儲介質(硬盤、光盤
    的頭像 發(fā)表于 06-21 17:15 ?2001次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>文件</b>操作是什么

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python數(shù)據(jù)庫連接

    python讀取數(shù)據(jù)庫數(shù)據(jù) python查詢數(shù)據(jù)庫 python數(shù)據(jù)庫連接 Python是一門高級編程語言,廣泛應用于各種領域。其中,
    的頭像 發(fā)表于 08-28 17:09 ?1601次閱讀

    如何使用Python和pandas庫讀取、寫入文件

    在本文中,我將介紹如何使用 Python 和 pandas 庫讀取、寫入文件。 1、安裝 pip install pandas 2、讀取 import pandas as pd df
    的頭像 發(fā)表于 09-11 17:52 ?1048次閱讀

    如何使用Python讀取寫入Word文件

    01 準備 Python 是一種通用編程語言,也可以用于處理 Microsoft Word 文件。在本文中,我將向你介紹如何使用 Pythonpython-docx 庫
    的頭像 發(fā)表于 09-27 17:03 ?1868次閱讀

    python中如何保存文件

    Python中,可以使用多種方式來保存文件。以下是一些常見的方法: 使用內置的open()函數(shù):open()函數(shù)用于打開文件并返回一個文件對象,可以在此對象上執(zhí)行
    的頭像 發(fā)表于 11-24 09:32 ?973次閱讀