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面向对象编程中的类和对象学习教程
Mar 30 Python
用Python从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
利用Python获取操作系统信息实例
Sep 02 Python
Python实现文件信息进行合并实例代码
Jan 17 Python
Python3 中文文件读写方法
Jan 23 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
django中静态文件配置static的方法
May 20 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
Nov 17 Python
Python实现双向链表
May 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
php5 mysql分页实例代码
2008/04/10 PHP
PHP中strtr字符串替换用法详解
2014/11/26 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
jQuery大于号(&gt;)选择器的作用解释
2015/01/13 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
js图片无缝滚动插件使用详解
2020/05/26 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
python制作websocket服务器实例分享
2016/11/20 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
财务管理专业自荐信范文
2013/12/24 职场文书
生物学学生自我评价
2014/01/17 职场文书
京剧自荐信
2014/01/26 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
承诺函格式模板
2015/01/21 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
教师师德承诺书2016
2016/03/25 职场文书