将字符串输出到二进制文件不起作用

时间:2013-11-29 09:08:37

标签: python python-3.x

出于某种原因,我无法使用python将一个简单的字符串输出到二进制文件。

这是我的代码:

strin = bytes(strin, '3DFILE')
dataH = struct.pack('s', strin)
outFile.write(dataH)

我正在尝试为我正在使用搅拌机制作的游戏编写3D模型导出器。请有人帮帮我,或者举个例子?我得到了没有定义字符串的错误。

1 个答案:

答案 0 :(得分:0)

Python 3字符串是unicode字符的序列。这些字符是抽象的,在你说出应该使用什么编码之前它们没有二进制表示。

如果您有二进制数据,可以将其写入二进制文件(使用二进制模式打开,如outFile = open(filename, 'wb') ... outFile.close()),没有问题。但是,无法将二进制数据写入以文本模式打开的文件。它在Python 2中有所不同,其中字符串实际上是字节序列,甚至开放文本文件对象也不关心。