Python中使用QByteArray()实现二进制文件的读写操作
发布时间:2023-12-16 16:12:43
在Python中,可以使用QtCore模块中的QByteArray()类来进行二进制文件的读写操作。QByteArray()是一个字节数组类,可以用来存储二进制数据。下面是一个使用QByteArray()进行二进制文件读写操作的例子。
from PyQt5.QtCore import QByteArray
# 写入二进制文件
def write_binary_file(file_path, data):
ba = QByteArray(data)
with open(file_path, 'wb') as file:
file.write(ba)
print('二进制文件写入完成')
# 读取二进制文件
def read_binary_file(file_path):
with open(file_path, 'rb') as file:
data = file.read()
ba = QByteArray(data)
return ba
if __name__ == '__main__':
# 写入二进制文件
write_binary_file('test.bin', bytes([0x01, 0x02, 0x03, 0x04, 0x05]))
# 读取二进制文件并打印数据
ba = read_binary_file('test.bin')
print('读取的二进制文件数据:', [hex(b) for b in ba.data()])
在上面的例子中,我们定义了两个函数write_binary_file()和read_binary_file()来分别实现二进制文件的写入和读取。
在write_binary_file()函数中,我们首先使用QByteArray()类将传入的二进制数据data转换成一个字节数组对象ba。然后使用Python内置的open()函数以二进制写入模式打开文件,并调用write()方法将字节数组对象ba写入文件。
在read_binary_file()函数中,我们首先使用open()函数以二进制读取模式打开文件,并调用read()方法读取文件内容到变量data中。然后再次使用QByteArray()类将读取的二进制数据转换成字节数组对象ba,并返回该对象。
在主程序中,我们首先调用write_binary_file()函数来写入一个二进制文件test.bin,其中使用了一个字节数组bytes([0x01, 0x02, 0x03, 0x04, 0x05])作为数据的示例。
然后我们调用read_binary_file()函数来读取刚刚写入的二进制文件,并将读取的数据打印出来。其中使用了ba.data()方法获取字节数组对象中的数据,并使用列表推导式将每个字节转换成16进制形式的字符串。
以上就是使用QByteArray()实现二进制文件的读写操作的一个简单例子。通过这个例子,你可以学习到如何使用QByteArray()类来处理二进制数据的读写操作。
