首页 > 解决方案 > 在blender python api中实现os python库

问题描述

我必须从 Blender python 脚本创建并写入一个文本文件。这里的文档说,使用该fdopen()函数可以在代码中将 txt 文件作为流打开。

但是,fdopen()似乎没有在搅拌机的 python api 中实现。相反,它被注释为 #supply fdopen()。你实际上可以fdopen()用另一个函数来做必须做的事情,open()它是python api的内置函数(似乎不属于os)。

另外,如果我os.open()在搅拌机中使用,它会返回一个整数而不是文件。这是否意味着 Blender os 模块实现与“本机”python os 不同?

我的意思是,这个库是由搅拌机开发人员用 C 语言“重写”的?我没有计算机科学背景,所以如果我的假设是正确的,我无法真正理解为什么会发生这种情况。我的理解是 BDFL 已经用 C 语言编写了 os 模块,它现在应该可以完美地适用于任何地方的每个人。为什么不简单地把它嵌入到blender的python api中呢?有人可以向我详细解释一下吗?

标签: pythonoperating-systemblender

解决方案


Blender 使用默认的 python os 模块。os.open返回一个文件描述符(int);内置全局函数open返回文件对象 - 这就是您应该用于常规文件访问的内容。


推荐阅读