出于某种原因,我无法使用python将一个简单的字符串输出到二进制文件。
这是我的代码:
strin = bytes(strin, '3DFILE')
dataH = struct.pack('s', strin)
outFile.write(dataH)
我正在尝试为我正在使用搅拌机制作的游戏编写3D模型导出器。请有人帮帮我,或者举个例子?我得到了没有定义字符串的错误。
答案 0 :(得分:0)
Python 3字符串是unicode字符的序列。这些字符是抽象的,在你说出应该使用什么编码之前它们没有二进制表示。
如果您有二进制数据,可以将其写入二进制文件(使用二进制模式打开,如outFile = open(filename, 'wb')
... outFile.close()
),没有问题。但是,无法将二进制数据写入以文本模式打开的文件。它在Python 2中有所不同,其中字符串实际上是字节序列,甚至开放文本文件对象也不关心。