这篇文章给大家介绍Python中如何实现内存读写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
Python中的读写不一定只是文件,还有可能是内存,所以下面实在内存中的读写操作
示例1:
# -*- coding:utf-8 -*- #! python3 from io import StringIO f=StringIO() f.write('everything') f.write('is') f.write('possible') print(f.getvalue())
运行结果:
everythingispossible
在内存中新建一个StringIO
,然后进行写入
获取的时候用的是getvalue()
函数
而读取的时候可以用一个循环判断,比如:
示例2:
# -*- coding:utf-8 -*- #! python3 f=StringIO('everything is possible') while True: s=f.readline() if s=='': break print(s.strip())
运行结果:
everything is possible
同理,可以操作不只是str,还可以是二进制数据,所以会用到BytesIO
from io import BytesIO >>> f = BytesIO() >>> f.write('中文'.encode('utf-8')) 6 >>> print(f.getvalue()) b'\xe4\xb8\xad\xe6\x96\x87'
如下图所示:
而写入同时也是:
>>> from io import BytesIO >>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87') >>> f.read() b'\xe4\xb8\xad\xe6\x96\x87'
注:这里的测试环境为Python3,如果使用Python2运行上述示例1的话会提示如下错误:
Traceback (most recent call last):
File "C:\py\jb51PyDemo\src\Demo\strIODemo.py", line 5, in <module>
f.write('everything')
TypeError: unicode argument expected, got 'str'
解决方法为将
from io import StringIO
更换成:
from io import BytesIO as StringIO
关于Python中如何实现内存读写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。