Python:打开.blend文件作为文本

时间:2017-05-25 16:38:13

标签: python windows file text blender

我想在python中打开.blend文件作为文本,就像在文本编辑器中打开.blend文件一样。但我只能用 open(blend,“rb”)。read()打开它作为二进制文件,但后来我得到加密文本,加载需要很长时间。

我如何获得文字? open(blend,“r”)。read()不起作用,因为我收到此错误:

    File "C:\Users\Daniel\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 18726: character maps to <undefined>

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

使用"rb"打开是正确的,并且&#34;加密文字&#34;是如何在混合器中存储3d模型。我真的不明白你尝试这样做的动机,所以我无法进一步帮助。

有关错误的更多信息: 在编码file.read使用中,0x81是一个未定义的字节,所以当它看到它时会出错。但是,当使用"rb"打开时,它只会存储值,而不是尝试将它们转换为字符(不完全准确,但有助于理解)。

答案 1 :(得分:0)

虽然混合文件是二进制数据文件,但您也会发现其中许多文件也会被压缩。

最简单的方法是让blender读取文件。要自动执行任务,您可以从the CLI以后台模式启动blender,并使用提取所需信息的blender API运行python脚本。

blender -b --python extractor.py

如果您使用python执行此操作,则可以使用subprocess.run()

subprocess.run(['blender', '-b', '--python', 'extractor.py'])

但是如果你需要在没有安装blender的机器上执行此操作,可以在没有blender的情况下从python中读取混合文件,根据您的需要,您可以找到答案herehere是有帮助的。