Python I/O操作笔记

打开文件

使用 open() 函数,其中文件路径可以是相对路径或绝对路径。

模式除了常见的 r(只读)、w(写入,会覆盖原有内容)、a(追加)外,还有一些其他组合模式,如 r+(读写)、w+(读写,会覆盖或创建新文件)、a+(读写,可追加)等。

读取文件

  • read() 函数会一次性读取整个文件的内容,返回一个字符串。如果文件较大,可能会占用较多内存。
  • readline() 每次读取一行内容,返回一个字符串,再次调用会读取下一行,直到文件末尾。
  • readlines() 则将所有行一次性读取并存储到一个列表中,列表中的每个元素是一行内容。

写入文件

write() 方法接收一个字符串作为参数,将其写入到文件中。

关闭文件

调用 close() 非常重要,它确保与文件相关的系统资源被正确释放,避免资源泄漏。如果不及时关闭,可能会导致一些问题,如文件被占用而无法进行其他操作。同时,在使用上下文管理器

(如 with 语句)时,在语句块结束后会自动关闭文件,无需手动调用 close() ,这是一种更简洁和安全的方式。

上下文管理器

上下文管理器是一种编程机制。

简单来说,它定义了在一段代码执行前和执行后的特定行为。

在文件操作中,通过 with 语句使用上下文管理器,在进入 with 代码块时,会自动执行与打开文件相关的操作(比如调用 open 函数打开文件),当代码块执行结束(无论正常结束还是因异常结束),会自动执行后续的清理操作(比如关闭文件)。

它的好处是可以确保相关资源的正确初始化和释放,避免因人为疏忽导致资源未正确处理而引发的问题,使得代码更加简洁、可靠和易于维护。

文件指针

  • 指示当前读取或写入的位置。
  • 使用tell()方法可以查看指针位置
  • 使用 seek() 方法可以将文件指针移动到指定的字节位置。

标准输入输出

  • input() 用于从控制台获取用户输入。
  • print() 用于向控制台输出信息。

二进制文件操作

二进制文件是一种以二进制形式存储信息的文件类型。

与文本文件不同,二进制文件不是以人类可读的字符形式来表示信息,而是使用二进制编码来表示数据。

这些数据可以是各种各样的,比如图像文件中的像素数据、音频文件中的声音波形数据、可执行文件中的机器指令和数据结构等等。

我们依然可以使用 open() 函数来打开二进制文件,只是要添加 'b' 模式标志,比如 open('image.jpg', 'rb') 表示以二进制只读模式打开图像文件。

在读取和写入二进制数据时,通常使用字节数组等方式来处理,以确保数据的准确性和完整性。

字节数组(Byte Array)是一种数据结构。

它是由一系列字节(8 位二进制数)组成的有序集合。字节数组可以用来存储和处理二进制数据。

与普通的数组类似,字节数组中的每个元素都是一个字节,可以通过索引来访问和操作特定位置的字节。

在处理二进制文件等场景中,字节数组常被用来高效地存储和传输二进制数据,方便进行数据的读取、写入、修改等操作。它为处理大量的二进制信息提供了一种方便而灵活的方式。

对于图像、音频等二进制数据,它们有特定的格式和编码规则,在操作时需要遵循这些规则来正确地解析

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值