(2)将整数6589分别写入文本文件test.txt和二进制文件test.dat,并比较两个文件的不同之处。 然后读取文件test.txt和二进制文件test.dat。
时间: 2024-05-06 16:17:04 浏览: 119
文本文件与二进制文件
4星 · 用户满意度95%
将整数6589写入文本文件test.txt,可以使用以下Python代码:
```python
with open('test.txt', 'w') as f:
f.write(str(6589))
```
将整数6589写入二进制文件test.dat,可以使用以下Python代码:
```python
with open('test.dat', 'wb') as f:
f.write(6589.to_bytes(2, byteorder='big'))
```
其中,`to_bytes(2, byteorder='big')`将整数转换为2个字节的大端字节序列,并写入二进制文件中。
比较两个文件的不同之处,可以使用以下Python代码:
```python
with open('test.txt', 'rb') as f1, open('test.dat', 'rb') as f2:
txt_data = f1.read()
bin_data = f2.read()
print(txt_data) # b'6589'
print(bin_data) # b'\x19M'
```
可以看到,文本文件中写入的是字符'6'、'5'、'8'、'9'的ASCII码(十进制值分别为54、53、56、57),而二进制文件中写入的是整数6589的大端字节序列(十六进制表示为0x194D)。
读取文本文件test.txt和二进制文件test.dat,可以使用以下Python代码:
```python
with open('test.txt', 'r') as f:
txt_data = int(f.read())
with open('test.dat', 'rb') as f:
bin_data = int.from_bytes(f.read(), byteorder='big')
print(txt_data) # 6589
print(bin_data) # 6589
```
可以看到,读取出来的数据都是整数6589。其中,`int.from_bytes()`将大端字节序列转换为整数。
阅读全文