在 Python 3.2(和其他版本)中,os.open 的文档指出:
此函数适用于低级 I/O。对于正常使用,使用内置函数 open(),它返回一个带有 read() 和 write() 方法(以及更多)的文件对象。要将文件描述符包装在文件对象中,请使用 fdopen()。
对于 fdopen( ) :
返回连接到文件描述符 fd 的打开文件对象。这是 open() 的别名并接受相同的参数。唯一的区别是 fdopen() 的第一个参数必须始终是整数。
io.open
在关于and之间区别的问题中的这条评论os.open
(这个区别对我来说是完全清楚的,我总是使用io.open
,从不os.open
)问:为什么有人会选择 Python 进行低级 I/O?,但并没有真正得到答案。
我的问题与评论问题非常相似:在 Python 中,通过, , ,等进行低级 I/O 的用例是什么?os.open
os.fdopen
os.close
os.read
我曾经认为需要对流程进行去魔化,但我不再那么确定了。是否有任何任务只能使用低级 I/O 而不能使用更高级别的包装器来执行?