(1)编写程序,将字符串“文件写入正确”用二进制方式写入到文件data.dat中,并用二进制方式将data.dat的一个文件打开,在屏幕上显示出来。
时间: 2023-04-26 12:04:27 浏览: 182
以下是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'))
```
输出结果为:
```
文件写入正确
```
相关问题
编写程序,首先将三个字符串程序,设计和基础 写入当前目录下的二进制文件binar.dat,然后重新打开文件读取并读取输出三个字服串
编写程序来操作文本文件通常涉及以下几个步骤:
1. 创建文件并写入内容:
```python
# 导入必要的模块
import os
# 定义要写入的字符串
strings = ["程序", "设计", "基础"]
# 确保文件路径存在
file_path = os.path.join(os.getcwd(), "binar.dat")
# 使用 open() 函数以二进制模式 ('wb') 打开文件,以便写入数据
with open(file_path, 'wb') as f:
for string in strings:
# 将字符串转换为 bytes(二进制),便于写入文件
data = string.encode('utf-8')
f.write(data)
print(f"已成功将字符串写入文件 {file_path}")
```
2. 重新打开文件并读取内容:
```python
# 以二进制模式 ('rb') 重新打开文件以读取
with open(file_path, 'rb') as f:
while True:
# 一次性读取一个字节,直到文件结束
byte_data = f.read(1)
if not byte_data:
break
# 将字节数据解码回字符串,并添加到结果列表中
decoded_str = byte_data.decode('utf-8', errors='ignore')
print(decoded_str, end='') # 使用 end='' 避免换行
print("\n--- 文件读取完成 ---")
```
在这个例子中,我们假设字符串是以UTF-8编码存储的。如果你的输入是其他编码,记得相应地修改 `encode` 和 `decode` 的部分。
编写1个程序,使用文件流的相关方法顺序完成以下操作: 读取文件Data.txt中的所有数据;将读取得到的数据以二进制的形式存放到程序所在目录下的文件Res.dat中;再次读取Res.dat中的所有数据;并将这些数据以文本文件的形式存放到程序所在目录下的Res.txt文件中,存放时每行2个数据,每个数据占10列,右对齐,左边补'C'字符。
```python
with open('Data.txt', 'r') as f:
data = f.read()
with open('Res.dat', 'wb') as f:
f.write(bytes(data, encoding='utf-8'))
with open('Res.dat', 'rb') as f:
data = f.read()
with open('Res.txt', 'w') as f:
for i in range(0, len(data), 2):
num1 = str(bin(data[i]))[2:].zfill(8)
num2 = str(bin(data[i+1]))[2:].zfill(8)
f.write('{0:>10}{1:>10}\n'.format('C'+num1, 'C'+num2))
```
注意事项:
1. 第一步读取文件时,需要使用`read()`方法将所有数据读取出来。
2. 写入二进制文件时需要使用`wb`模式,读取二进制文件时需要使用`rb`模式。
3. 读取二进制文件时,得到的数据是一个字节串(bytes),可以使用`len()`方法获取字节串的长度,可以使用下标操作访问字节串中的每一个字节。
4. 写入文本文件时,需要使用`w`模式。在写入每一行数据时,可以使用`format()`方法对数据进行格式化,使其满足要求。
阅读全文