io.StringIO和python中的字符串变量之间的区别

时间:2018-08-01 06:49:14

标签: python-3.x

我是python的新手。

谁能解释一个字符串变量和io.StringIO有什么区别。两者都可以保存字符。

例如

字符串变量

k= 'RAVI'

io.stringIO

string_out = io.StringIO()
string_out.write('A sample string which we have to send to server as string data.')
string_out.getvalue()

如果我们打印k或string_out.getvalue()都将打印文本

print(k)
print(string_out.getvalue())

2 个答案:

答案 0 :(得分:1)

它们是相似的,因为strStringIO都代表字符串,它们只是以不同的方式来做:

  • str:不可变
  • StringIO:可变的,类似于文件的界面,它存储 str

文本模式文件句柄(由open("somefile.txt")产生)也与StringIO(两者均为“文本I / O”)非常相似,后者使您可以避免使用实际的文件进行类似文件的操作。

答案 1 :(得分:0)

您可以使用io.StringIO()来模拟文件,因为python具有可变类型的动态特性,通常,如果您拥有接受文件对象的内容,则也可以使用io.StringIO(),这意味着您可以使用“文件”中的内容,您可以控制其内容,而无需实际将任何临时文件写入磁盘