python3 将int类型的txt转化为bin文件
时间: 2023-08-13 15:05:33 浏览: 569
你可以使用Python的内置函数`int()`来将文本文件中的整数转换为整数类型。然后,你可以使用Python的内置函数`to_bytes()`将整数转换为二进制数据,并将其写入一个二进制文件中。下面是一个示例代码:
```python
# 读取文本文件
with open('input.txt', 'r') as f:
data = f.read()
# 将文本数据转换为整数
num = int(data)
# 将整数转换为二进制数据
binary_data = num.to_bytes((num.bit_length() + 7) // 8, byteorder='big')
# 将二进制数据写入二进制文件
with open('output.bin', 'wb') as f:
f.write(binary_data)
```
在上面的代码中,我们首先打开文本文件并读取其中的数据。然后,我们将数据转换为整数类型并将其存储在`num`变量中。接下来,我们使用`to_bytes()`函数将整数转换为二进制数据,并将其存储在`binary_data`变量中。最后,我们使用`open()`函数将一个二进制文件打开,并使用`write()`函数将二进制数据写入该文件中。
相关问题
帮我写一个python代码,将bin文件转换成具有格式为 int union bool类型的 csv文件
好的,以下是一个简单的 Python 代码,可以将二进制文件转换为包含 int、union 和 bool 类型的 CSV 文件。
```python
import struct
import csv
# 读取二进制文件
with open('binary_file.bin', 'rb') as f:
data = f.read()
# 将二进制数据解析为 int、union 和 bool 类型
# 这里假设二进制数据的格式为:int、union、bool、int、union、bool......
result = []
for i in range(0, len(data), 5):
# 解析 int 类型
num1 = struct.unpack('i', data[i:i+4])[0]
# 解析 union 类型
union = struct.unpack('?', data[i+4])[0]
# 解析 bool 类型
bool1 = struct.unpack('?', data[i+5])[0]
# 添加到结果列表中
result.append([num1, union, bool1])
# 将结果写入 CSV 文件
with open('output.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['int', 'union', 'bool'])
writer.writerows(result)
```
你可以根据实际情况修改代码中的文件名和数据格式。希望能对你有所帮助!
帮我写一个python代码,将bin文件转换成具有格式分别为 int union bool类型的 csv文件
好的,以下是一个简单的Python代码,可以将二进制文件转换成具有 int、union、bool 格式的 CSV 文件:
```python
import struct
import csv
# 打开二进制文件并读取数据
with open('input.bin', 'rb') as f:
data = f.read()
# 定义数据格式
fmt = 'i?'
size = struct.calcsize(fmt)
# 解包数据
unpacked_data = []
for i in range(0, len(data), size):
unpacked_data.append(struct.unpack(fmt, data[i:i+size]))
# 写入 CSV 文件
with open('output.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['int', 'union', 'bool'])
for row in unpacked_data:
writer.writerow(row)
```
在上面的代码中,我们首先使用 `struct` 模块定义了数据格式 `fmt`,该格式包含一个整数、一个布尔值和一个联合类型。然后我们使用 `struct.unpack()` 函数将二进制数据解包成一个列表。最后,我们使用 `csv` 模块将解包后的数据写入 CSV 文件。
你需要将 `input.bin` 替换成你的二进制文件名称,并将输出文件名改为你想要的名称。
阅读全文