- bytes 和 bytearray 的区别
在 python 中,bytes 和 bytearray 都属于二进制数据类型。二者非常相似,但也有区别。
bytes 是不可变类型,表示固定长度的二进制序列。使用 b 前缀来创建 bytes 字面值。
bytearray 是可变类型,表示可变长度的二进制序列。使用 bytearray() 或 barray() 函数来创建 bytearray 实例。
- bytes 和 bytearray 的创建
下面是 bytes 和 bytearray 的创建示例:
# 创建 bytes 实例
b = b'hello world'
# 创建 bytearray 实例
barray = bytearray(b'hello world')
- bytes 和 bytearray 的常用方法
bytes 和 bytearray 共享一些常用方法,例如 len()、count() 和 index() 等。但 bytearray 还有一些只适用于它自己的方法。
下面是 bytes 和 bytearray 的常用方法示例:
# bytes 的常用方法
print(len(b)) # 输出 11
print(b.count(b'l')) # 输出 3
print(b.index(b'l')) # 输出 2,即 'l' 在 bytes 中第一次出现的位置
# bytearray 的常用方法
barray[0] = 104 # 修改第一个元素
print(barray) # 输出 bytearray(b'hello world')
barray.extend(b'!') # 在末尾添加一个感叹号
print(barray) # 输出 bytearray(b'hello world!')
- 使用 bytes 和 bytearray 与文件进行读写
在 python 中,可以使用二进制模式打开文件,并使用 read()、write() 和 writelines() 等方法来操作二进制数据。
下面是一个使用 bytes 和 bytearray 与文件进行读写的示例:
# 从文件中读取字节流并写入新文件
with open('example.txt', 'rb') as f:
data = f.read()
with open('new.txt', 'wb') as f2:
f2.write(data)
# 修改一些字节并将其写入文件
with open('new.txt', 'rb+') as f:
data = bytearray(f.read())
data[0] = 104 # 修改第一个字节
f.seek(0)
f.write(data)
以上就是使用 python 的 bytes 和 bytearray 数据类型的基础知识和常用技巧。希望本篇攻略能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数据类型bytes 和 bytearray的使用与区别 - Python技术站