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记录详细调用堆栈日志的方法
May 05 Python
python动态性强类型用法实例
May 09 Python
Python和Perl绘制中国北京跑步地图的方法
Mar 03 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
Python利用itchat对微信中好友数据实现简单分析的方法
Nov 21 Python
Python操作Sql Server 2008数据库的方法详解
May 17 Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
如何基于Python创建目录文件夹
Dec 31 Python
python给list排序的简单方法
Dec 10 Python
python图片灰度化处理的几种方法
Jun 23 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
通过JS 获取Mouse Position(鼠标坐标)的代码
2009/09/21 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
2013/07/08 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
jQuery操作css样式
2017/05/15 jQuery
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python导出DBF文件到Excel的方法
2015/07/25 Python
Django URL传递参数的方法总结
2016/08/28 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
python实现自动解数独小程序
2019/01/21 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
男方父母婚礼答谢词
2014/01/25 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
音乐教师求职信范文
2015/03/20 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
消防演习通知
2015/04/25 职场文书
管理失职检讨书
2015/05/05 职场文书
2015年市场营销工作总结
2015/07/23 职场文书