python等效于java OutputStream吗?
问题内容:
是否有与Java的OutputStream或PrintWriter等效的Python
/伪等效的Python ?
我希望能够有一个代表stdout /
sterr之类的流或一个文件的句柄,或者其他某种东西(一个管道,一个套接字或一个虚拟接收器),并抽象出它是什么样的东西,所以我可以只是发送输出到它。
我怎样才能做到这一点?
问题答案:
在Python中自动发生“抽象出它的类型”的事情-这被称为“鸭子类型”。只需将任何类似文件的对象传递给函数,并使其使用类似文件的对象的接口即可。
FWIW,标准输入/输出/错误流由表示stdin
,stdout
并且stderr
将在sys
模块。要获取可读写字符串的类文件对象,请使用StringIO
模块。