将单个位写入python中的文件

时间:2013-07-08 21:37:38

标签: python file byte bits

在python中有一种方法可以写入少于1个字节的数据 即使我写出以1位表示的数字0,文件大小为1(8位)字节

我尝试了结构模块

file.write(struct.pack('b',0))

阵列模块

import array
data1=array.array('B')
x=bin(0)[2:]
data1.append(int(0,2))
f2=open('/root/x.txt','wb')
data1.tofile(f2)

1 个答案:

答案 0 :(得分:2)

不,你不能写不到一个字节。字节是计算机可以处理的不可分割的内存量。硬件没有配备处理数据单位<1字节(尽管字节的大小可能因机器而异)。文件系统还以块为单位处理可能为4KB的数据,因此写入一位实际上会在磁盘上产生4KB的块。

另请参阅此问题的更一般版本:It is possible to write less than 1 byte to a file