使用python将位流保存到文件

使用python将位流保存到文件,python,bitstring,bitstream,h.265,Python,Bitstring,Bitstream,H.265,我需要输出一个h.265(或hevc,是相同的)位流到python中的str文件中 我有一个比特流文件,我从这个文件中选择了一些数据来保存到一个新的文件中。我使用模块来处理位流文件 编辑:我的问题是如何创建新的位流文件并将数据插入。请看 一个简单的例子: import struct characters = "Hello World" with open(filepath, 'wb') as f: for char in characters: # @B means to

我需要输出一个h.265(或hevc,是相同的)位流到python中的str文件中

我有一个比特流文件,我从这个文件中选择了一些数据来保存到一个新的文件中。我使用模块来处理位流文件

编辑:我的问题是如何创建新的位流文件并将数据插入。

请看

一个简单的例子:

import struct
characters = "Hello World"
with open(filepath, 'wb') as f:
    for char in characters:
        # @B means to pack native (LSB or MSB) to size unsigned char (1 byte)
        packed = struct.pack('@B', char)
        f.write(packed)

查看部分位字符串文档中关于连接位数组(位流的基类)的部分。如何连接子流取决于您首先使用它们的方式

要将位流写入文件,请使用的方法“toFile”,它是位流的基类

f = open('fileToWriteTo', 'wb')
bitstreamObject.tofile(f)
如果您想一个接一个地写入多个子流,您可以在下次写入时以追加模式打开该文件

f = open('fileToWriteTo', 'ab')
nextSubstream.tofile(f)

您的问题是什么?请显示您的代码,以及是什么部分导致您出现问题。为什么不将文件以二进制形式打开,然后执行
struct.pack
将字符等打包成二进制?@mhawke我编辑了我的问题。@ZWiki您能给我一个简单的示例吗?谢谢,但我发现使用上述解决方案更容易。