我不是专业人士,我一直在努力了解StringIO的确切用途。我一直在互联网上找一些例子。但是,几乎所有示例都是非常抽象的。他们只是展示“如何”使用它。但是他们都没有显示出“为什么”和“在什么情况下”应该/将要使用它?提前致谢
ps不要与stackoverflow上的这个问题混淆:StringIO用法,它比较字符串和StringIo。
当你有一些仅接收文件的API,但需要使用字符串时,可以使用它。例如,要使用Python 2中的gzip模块压缩字符串:
import gzip
import StringIO
stringio = StringIO.StringIO()
gzip_file = gzip.GzipFile(fileobj=stringio, mode='w')
gzip_file.write('Hello World')
gzip_file.close()
stringio.getvalue()
换句话说
duck typing
::D从Python 3.2开始,gzip模块具有直接压缩数据的功能。(但是,当前需要StringIO的任何知名开源库都可能会在一段时间后增加此类功能,因此,我将不再在这里搜索gzip而不是寻找新的示例了。)