python等效于java OutputStream吗?


问题内容

是否有与Java的OutputStreamPrintWriter等效的Python
/伪等效的Python ?

我希望能够有一个代表stdout /
sterr之类的流或一个文件的句柄,或者其他某种东西(一个管道,一个套接字或一个虚拟接收器),并抽象出它是什么样的东西,所以我可以只是发送输出到它。

我怎样才能做到这一点?


问题答案:

在Python中自动发生“抽象出它的类型”的事情-这被称为“鸭子类型”。只需将任何类似文件的对象传递给函数,并使其使用类似文件的对象的接口即可。

FWIW,标准输入/输出/错误流由表示stdinstdout并且stderr将在sys模块。要获取可读写字符串的类文件对象,请使用StringIO模块。