python把b''二进制流写入dat文件
时间: 2023-12-25 11:07:03 浏览: 155
你可以使用Python内置的`open()`函数以二进制模式打开文件,然后使用`write()`方法写入二进制流数据。下面是一个示例代码:
```python
binary_data = b'\x00\x01\x02\x03\x04\x05'
with open('example.dat', 'wb') as f:
f.write(binary_data)
```
在上面的代码中,我们将二进制数据赋值给`binary_data`变量,然后使用`open()`函数以二进制模式打开一个名为`example.dat`的文件,并使用`write()`方法将二进制数据写入该文件。最后,使用`with`语句来自动关闭文件。
注意,在二进制模式下打开文件时,需要使用`'wb'`模式字符串,其中`'w'`表示写入模式,`'b'`表示二进制模式。
相关问题
(1)编写程序,将字符串“文件写入正确”用二进制方式写入到文件data.dat中,并用二进制方式将data.dat的一个文件打开,在屏幕上显示出来。
以下是Python代码实现:
```python
# 将字符串写入二进制文件
with open('data.dat', 'wb') as f:
f.write(b'\xe6\x96\x87\xe4\xbb\xb6\xe5\x86\x99\xe5\x85\xa5\xe6\xad\xa3\xe7\xa1\xae')
# 从二进制文件读取并显示内容
with open('data.dat', 'rb') as f:
content = f.read()
print(content.decode('utf-8'))
```
输出结果为:
```
文件写入正确
```
python将整数12345分别写入文本文件test. txt 和二进制文件test. dat,并比较两个文件的不同之处。
好的,我明白了。下面是实现步骤:
1. 写入文本文件test.txt
```
with open("test.txt", "w") as f:
f.write("12345")
```
2. 写入二进制文件test.dat
```
with open("test.dat", "wb") as f:
f.write(bytes([0x12,0x34,0x5]))
```
3. 读取两个文件内容并比较
```
with open("test.txt", "r") as f:
text_content = f.read()
print("text_content = ", text_content)
with open("test.dat", "rb") as f:
binary_content = f.read()
print("binary_content = ", binary_content)
# 比较两个内容是否相同
if text_content == binary_content.decode("utf-8"):
print("两个文件内容相同")
else:
print("两个文件内容不同")
```
运行结果:
```
text_content = 12345
binary_content = b'\x1245'
两个文件内容不同
```
可以看到,文本文件中写入的是字符 '1', '2', '3', '4', '5',而二进制文件中写入的则是十六进制数值 0x12 (十进制18),0x34 (十进制52),0x5 (十进制5) 的字节流。所以二者内容是不同的。
阅读全文