【发布时间】:2021-05-06 10:30:33
【问题描述】:
我正在编写一个程序来读取文件中的位并将其写入另一个文件。我找到了一个名为 bitstring 的库,它有助于将位作为字符串进行操作。但是,这个库可以帮助我读取位,但我无法写入读取的位。输入和输出文件的大小相同,因此在字节方面没有问题。这是我的代码的一部分。
import bitstring
file = bitstring.ConstBitStream(filename='paper.pdf')
print(file.length)
bits_to_read = 5000000
last_bits = 0
while file.pos < file.length-bits_to_read:
bits = file.read(bits_to_read)
str_bits = bitstring.BitArray(bits).bin
rest = file.length - file.pos
bits = file.read(rest)
str_bits = bitstring.BitArray(bits).bin
致以诚挚的问候。
【问题讨论】:
-
什么意思“我无法写入读取位”。向我们展示您尝试了哪些功能,结果如何?您是否以附加或附加二进制模式打开第二个文件?
-
所以,我正在从文件中读取位并对其进行处理、加密。接下来,我想将结果位写入另一个文件。我唯一的解决方案是写为字节。但是,我想像流媒体一样做。
-
[python] write bitstring 上有 32 次点击,你能解释一下(在问题正文中,而不是在 cmets 中)为什么你想做的不同吗?此外,在 SO 上,您必须显示您尝试过的代码以及它给出的任何错误。
-
@smci thx,刚刚找到解决方案。
-
这能回答你的问题吗? Write boolean string to binary file?