Python内存读写操作示例


Posted in Python onJuly 18, 2018

本文实例讲述了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'

如下图所示:

 Python内存读写操作示例

而写入同时也是:

>>> 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\3waterPyDemo\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程序设计有所帮助。

Python 相关文章推荐
爬山算法简介和Python实现实例
Apr 26 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
python3 读取Excel表格中的数据
Oct 16 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
详解Django+uwsgi+Nginx上线最佳实战
Mar 14 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
树莓派升级python的具体步骤
Jul 05 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python 数据类型强制转换的总结
Jan 25 Python
python中数组和列表的简单实例
Mar 25 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 #Python
Sanic框架应用部署方法详解
Jul 18 #Python
Python Web编程之WSGI协议简介
Jul 18 #Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 #Python
详解flask入门模板引擎
Jul 18 #Python
Sanic框架基于类的视图用法示例
Jul 18 #Python
flask入门之表单的实现
Jul 18 #Python
You might like
PHP操作数组相关函数
2011/02/03 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
PHP实现基于Redis的MessageQueue队列封装操作示例
2019/02/02 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
Vue使用Proxy监听所有接口状态的方法实现
2019/06/07 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
2020/05/06 Javascript
Javascript柯里化实现原理及作用解析
2020/10/22 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python安装mysql-python简明笔记(ubuntu环境)
2016/06/25 Python
Django中间件实现拦截器的方法
2018/06/01 Python
python实现自动登录后台管理系统
2018/10/18 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python实现中值滤波去噪方式
2019/12/18 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
孝敬父母的活动方案
2014/08/31 职场文书
旷课检讨书范文
2014/10/30 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书