python文件读写

本文介绍了Python中关于文件读写的各种模式,包括以二进制格式读取(rb)、写入(wb)、读写结合(r+、w+、r+b)以及选择性和截取文件内容等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mode

带'b'的表示二进制格式

1、rb

以二进制格式打开一个文件。当读取图片或进行文本传输时,需要转换为二进制格式。

# mode='rb'
# 'aaa.txt'内容为'我是一只猪猪侠'
f = open('aaa.txt', mode='rb')
content = f.read()
print(content, type(content))

f.close()

输出:

b'\xe6\x88\x91\xe6\x98\xaf\xe4\xb8\x80\xe5\x8f\xaa\xe7\x8c\xaa\xe7\x8c\xaa\xe4\xbe\xa0' <class 'bytes'>

2、wb

# mode='wb'
f = open('bbb.txt', mode='wb')
f.write('我是一只猪猪侠'.encode(encoding='utf-8'))

f.close()

'bbb.txt'文件:

我是一只猪猪侠

3、读写 r+

先读后写:

f = open('aaa.txt',mode='r+',enoding='utf-8')
# 打印aaa.txt的内容
print(f.read())
# 在aaa.txt的末尾写入"猪猪侠"
f.write('猪猪侠')
# 由于读写只支持读完再写,故没有输出
print(f.read())
f.close()

先写后读:

f=open('aaa.txt',mode='r+',encoding='utf-8')
# 先写:假设'aaa.txt'的内容为'python','aa'直接覆盖'py'
f.write('aa')
# 'aathon'
print(f.read())
f.close()

4、读写 二进制 r+b

f=open('aaa.txt',mode='r+b')
print(f.read())
f.write('aaa'.enode('utf-8'))
f.close()

5、写读

f=open('aaa.txt',mode='w+',encoding='utf-8')
# 清空写入
f.write('aaa')
# 无输出,因为光标默认移到了最后
print(f.read())
# 光标移到最开头:输出'aaa'
f.seek(0)
print(f.read())
f.close()

6、选择性读写

f=open('aaa.txt',mode='r+',encoding='utf-8')
# 获取光标位置    0
print(f.tell())
# 光标移至字节为3的地方,英文一个字符对应一个字节,中文一个字符对应三个字节
f.seek(3)
# 位置按字节定义    3
print(f.tell())
# 'aaa.txt'内容为'python'    hon
print(f.read(3))
# 'aaa.txt'内容为'我是一只猪猪侠'    '是一只'
print(f.read(3))

7、截取文件固定长度字符串

# 'aaa.txt'内容为'python'
f=open('aaa.txt',mode='r',encoding='utf-8')
# 'aaa.txt'保留前四个字符,即'pyth'
f.truncate(4)
f.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值