内存数据的读取

摘要:
BytesIO实现了在内存中读写bytes˃˃˃fromioimportBytesIO˃˃˃f=BytesIO()˃˃˃f.write6˃˃˃printb'xe4xb8xadxe6x96x87'#读取数据˃˃˃fromioimportBytesIO˃˃˃f=BytesIO˃˃˃f.read()#只能读一次,再读为空。可以把f.read()赋给某个变量,然后解码变量,显示值#样式一:˃˃˃fromioimportStringIO#导入StringIO类˃˃˃f=StringIO()#创建一个实例,赋给f对象˃˃˃f.write#往f中写入5˃˃˃f.write('')1˃˃˃f.write('world!')#创建一个带内容的实例˃˃˃whileTrue:#while循环...s=f.readline()#按行读取内容...ifs=='':...break...print#strip(),删除行首行尾的空格总结:StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。
python : StringIO 和 BytesIO:

--数据读写不一定是文件,也可以在内存中读写

StringIO:

顾名思义就是在内存中读写str。


from io import StringIO
f= StringIO()
f.write('')  # 写入

---》f.getvalue()   #获取写入的数据(str)


--StringIO操作的只能是str!!
--读取StringIO,用一个str初始化StringIO,像读文件一样读取

BytesIO:

要操作二进制数据,就需要使用BytesIO

BytesIO实现了在内存中读写bytes

>>> from io import BytesIO

>>> f = BytesIO()

>>> f.write('中文'.encode('utf-8'))

6

>>> print(f.getvalue())

b'xe4xb8xadxe6x96x87'

#读取数据

>>> from io import BytesIO

>>> f = BytesIO(b'xe4xb8xadxe6x96x87')

>>> f.read()  # 只能读一次,再读为空。 可以把f.read()赋给某个变量,然后解码变量,显示值

#样式一:
>>> from io import StringIO   #  导入StringIO类

>>> f = StringIO()     # 创建一个实例,赋给f对象

>>> f.write('hello')    #  往 f 中写入

5

>>> f.write(' ')

1

>>> f.write('world!')

6

>>> print(f.getvalue())  #getvalue()方法用于获得写入后的str

hello world!

#样式二:
>>> from io import StringIO

>>> f = StringIO('Hello!
Hi!
Goodbye!')     #创建一个带内容的实例

>>> while True:      # while循环

...     s = f.readline()  # 按行读取内容

...     if s == '':

...         break

...     print(s.strip())   # strip(),删除行首行尾的空格

总结:

StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。

免责声明:文章转载自《内存数据的读取》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇redis error It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. SocketFailure on PINGDocking For WPF–AvalonDock下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

MeteoInfo-Java解析与绘图教程(一)

MeteoInfo-Java解析与绘图教程(一)已经进入开发行业很多年了,这两年一直从事气象开发行业,为此对气象绘图有了新的见解像色斑图与卫星图一直都有python去绘制,在偶然的情况下,我接触到了meteoInfo,在对其使用过程中,也可以做到用java绘制格点散点图,色斑图,等值图,卫星图,风场图所以趁这个机会我开始记录自己的探索过程,方便你我他对于绘图...

C#基础系列过滤器与特性

过滤器和特性结合在一起,在方法上优雅地使用过滤器。3.在过滤器中,。NETFrameWork提供了两种类型:一种是提供给ASP的筛选器。NETMVC在命名空间下使用System.Web。另一个是提供给ASP的过滤器。NETWebApi在命名空间下使用System.Web.Http.Filters。这两种类型不能混合使用,否则无法拦截并生效。...

USBWriter之后恢复磁盘大小

USBWriter之后恢复磁盘大小的方法:1,cmd2,diskpart3,listdisk4,selectdisk*5,clean6、在我的电脑点右键,管理,然后选磁盘管理,选择USB后,右键,然后再新建卷就可以了。...

iview表格动态数据实现合并功能

需求原型:代码实现:html part:从'../../libs/c导入{MsgType,PublicType}...

java实现word转pdf文件(高效不失真)

importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStream;importorg.aspectj.weaver.ast.Test;importcom.aspose.words.Document;importcom.aspose.words.License;importc...

Windows 远程桌面连接ubuntu及xrdp的一些小问题(远程桌面闪退、连接失败、tab补全功能,无菜单栏,error

想要修改,在windowsmanager中,keyboard里将用到Super+Tab的快捷键clear掉即可。解决:通过设置sesman.in文件内的参数解决:cat/etc/xrdp/sesman.inivi/etc/xrdp/sesman.ini可以修改会话设置:将最大会话限制该大MaxSessions=50;将KillDisconnected=1;则...