介绍
小编给大家分享一下Python StringIO在内存中读写str的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强> StringIO
强>
很多时候,数据读写不一定是文件,也可以在内存中读写.StringIO就是在内存中读写str
得到io import StringIO ff =, StringIO(& # 39;你好! \健! \ nGoodbye ! & # 39;) 时间=f StringIO(),, #创建StringIO对象,可以看做在内存中的文件 i=f.write(& # 39;你好我是中国人\ n # 39;), #写入字符串,自动移动读写指针 #返回值:返回字符串个数 i=f.write(& # 39;李明\ n # 39;) f.write(& # 39;中国\ n # 39;) str=f.getvalue(), #读取字符串(全部) #不操作指针 党卫军=f.seek(0), #移动读写指针 “““参数2: 为0时代表从文件开头开始算起 1代表从当前位置开始算起 2代表从文件末尾算起,? ? 如果操作成功,则返回新的指针位置,如果操作失败,则函数返回,1 “““ s=f.tell(), #返回当前读写位置=#,s f.readline(), #从当前位置开始读取一行,包括\ n;自动移动读写指针 # s =, f.readline(3), #从当前位置开始读取一行,包括\ n;自动移动读写指针 #,参数,读取的最大字符数 # s=f.readlines(),, #读取所有行,返回一个字符串列表;;自动移动读写指针 #(& # 39;你好我是中国人\ n # 39;,, & # 39;李明\ n # 39;,, & # 39;中国\ n # 39;】 # s =, f.readlines(2), #读取指定行,返回一个字符串列表;自动移动读写指针 # f.flush(), #刷新 # s=f.read(), #,读取全部内容,自动移动读写指针 # s=f.read(5),, #从当前位置开始读取的最大字符数 # f.truncate(3), #保留最前面的n个字符数,其它都删除 f.close(), #关闭
<强> BytesIO
强>
StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO
BytesIO实现了在内存中读写字节
得到io import BytesIO #,方式一 时间=f BytesIO(),, #创建BytesIO对象 i=f.write(& # 39;中文\ n # 39; .encode (& # 39; utf - 8 # 39;)), #写入字符串——字节形式 #返回值:写入的字节数;注意不是字符数 f.write(& # 39;中国& # 39;.encode (& # 39; utf - 8 # 39;)) x=f.getvalue(), #获取字符串(全部)——字节形式 #,# 39;b \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 # 39; #,方式二:可以用一个字节初始化BytesIO,然后,像读文件一样读取 时间=ff BytesIO (b # 39; \ xe4 \ xb8 \ xad \ xe6 \ x96 \ x87 # 39;) y=ff.read(), #读取字节 印刷(y)
优点:StringIO和BytesIO是在内存中操作str和字节的方法,使得读写具有一致的速度
以上是“Python StringIO在内存中读写str的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!