0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python文件的读取

麦辣鸡腿堡 来源:Python都知道 作者:Python都知道 2023-06-21 17:23 次阅读

文件读取的步骤:

  • 打开文本文件对象
  • 写入数据

文件的读取一般使用如下三个方法:

  • read([size]) : 从文件中读取 size 个字符,并作为结果返回如果没有 size 参数,则读取整个文件. 读取到文件末尾,会返回空字符串
  • 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)

二进制文件的读取和写入

二进制文件的处理流程和文本文件流程一致。首先还是要创建文件对象, 创建好二进制文件对象后,仍然可以使用 write() 、 read() 实现文件的读写操作

在创建文件对象时, 首先需要指定二进制模式,然后才能创建出二进制文件对象. 例如

  • 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() 可以将读取文件的指针移动到指定字节位置上一个中文字符站两个字节, 而英文只占一个字节

实操代码

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个字节, 因此在seek时需要是2的倍数
    print("文件读取的内容", str(f.readline()))  # 文件读取的内容 飞齐格飞齐格飞
    print(f.tell())  # 18
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件
    +关注

    关注

    1

    文章

    541

    浏览量

    24467
  • python
    +关注

    关注

    53

    文章

    4705

    浏览量

    83704
收藏 人收藏

    评论

    相关推荐

    怎么用Python读取文件后缀和文件名?

    Python 语言与 Perl,C 和 Java 等语言有许多相似之处,也有一定的差异性,以下是Python语言获取文件后缀名和文件名的方法:#Py
    发表于 01-02 16:35

    如何在 Python读取文本文件

    本帖最后由 dife289 于 2021-6-29 18:22 编辑 文本文件是包含简单文本的文件Python 提供了内置函数来读取、创建和写入文本
    发表于 06-10 20:21

    Python 读取文件的6种方式

    ;, 'r')file.read()如果你还在使用 Python2,那么它可以帮你处理掉 Python 2 下写文件时一些编码错误,一般的建议是:在 Python 3 下写
    发表于 04-11 15:30

    如何通过pandas读取csv文件指定的前几行?

    今天小编给大家分享一篇Python技术开发方面的文章,如何实现pandas读取csv文件指定的前几行,喜欢Python开发的小伙伴下面就随小编一起来了解一下吧。
    发表于 09-19 17:43 16次下载

    python文件读取的源代码免费下载

    本文档的主要内容详细介绍的是python文件读取的源代码免费下载。
    发表于 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是主要的类,用来创建和读取zip文件,而ZipInfo是存
    的头像 发表于 03-29 11:29 2268次阅读

    读取公盘文件方法

    读取公盘文件方法
    发表于 11-07 11:27 0次下载

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

    在使用 Python 批量处理 Excel 时经常需要批量读取数据,常见的方式是结合glob模块,可以实现将当前文件夹下的所有csv批量读取,并且合并到一个大的DataFrame中
    的头像 发表于 02-02 09:48 2087次阅读

    介绍Python中常用的文件读取方法以及应用示例

    ython 文件读取Python 语言中的基本操作之一。在编写Python 程序时,我们经常需要读取不同的
    的头像 发表于 04-27 09:16 777次阅读

    网络工程师学Python-文件处理

    当涉及到 Python 文件处理时, 我们通常会涉及到文件读取和写入, 以及文件的操作和处理。
    的头像 发表于 04-27 09:21 495次阅读

    python文件操作是什么

    一、什么是文件操作 一个完整的程序一般都包括数据的存储和读取;我们在前面写的程序数据都没有进行实际的存储,因此python解释器执行完数据就消失了 实际开发中,我们经常需要从外部存储介质(硬盘、光盘
    的头像 发表于 06-21 17:15 1693次阅读
    <b class='flag-5'>python</b><b class='flag-5'>文件</b>操作是什么

    python读取数据库数据 python查询数据库 python数据库连接

    python读取数据库数据 python查询数据库 python数据库连接 Python是一门高级编程语言,广泛应用于各种领域。其中,
    的头像 发表于 08-28 17:09 1429次阅读

    如何使用Python和pandas库读取、写入文件

    在本文中,我将介绍如何使用 Python 和 pandas 库读取、写入文件。 1、安装 pip install pandas 2、读取 import pandas as pd df
    的头像 发表于 09-11 17:52 897次阅读

    如何使用Python读取写入Word文件

    01 准备 Python 是一种通用编程语言,也可以用于处理 Microsoft Word 文件。在本文中,我将向你介绍如何使用 Pythonpython-docx 库
    的头像 发表于 09-27 17:03 1607次阅读

    python中如何保存文件

    Python中,可以使用多种方式来保存文件。以下是一些常见的方法: 使用内置的open()函数:open()函数用于打开文件并返回一个文件对象,可以在此对象上执行
    的头像 发表于 11-24 09:32 794次阅读