python按字节读取_Python read函数按字节(字符)读取文件的实现

本文介绍了Python如何按字节或字符读取文件内容。在非二进制模式下,read()方法默认按字符读取;而在二进制模式('rb')下,它按字节读取。当文件字符集与操作系统默认字符集不符时,可以通过使用二进制模式结合decode()或codecs模块的open()函数指定字符集来正确读取文件。
摘要由CSDN通过智能技术生成

文件对象提供了 read() 方法来按字节或字符读取文件内容,到底是读取宇节还是字符,则取决于是否使用了 b 模式,如果使用了 b 模式,则每次读取一个字节;如果没有使用 b 模式,则每次读取一个字符。在调用该方法时可传入一个整数作为参数,用于指定最多读取多少个字节或宇符。

例如,如下程序采用循环读取整个文件的内容:

f = open("read_test.py", 'r', True)

while True:

# 每次读取一个字符

ch = f.read(1)

# 如果没有读到数据,跳出循环

if not ch: break

# 输出ch

print(ch, end='')

f.close()

上面程序采用循环依次读取每一个字符(因为程序没有使用 b 模式),每读取到一个字符,程序就输出该字符。

正如从上面程序所看到的,当程序读写完文件之后,推荐立即调用 close() 方法来关闭文件,这样可以避免资源泄露。如果需要更安全地关闭文件,推荐将关闭文件的 close() 方法调用在 finally 块中执行。例如,将上面程序改为如下形式:

f =open ("test.txt",'r',True)

try:

while true:

#每次读取一个字符

ch = f.read(1)

#如果没有读取到数据,则跳出循环

if not ch:break

#输出ch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值