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模仿POST提交HTTP数据及使用Cookie值的方法
Nov 10 Python
Python中使用第三方库xlrd来读取Excel示例
Apr 05 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python多进程multiprocessing用法实例分析
Aug 18 Python
python实现八大排序算法(1)
Sep 14 Python
Python实现的生成格雷码功能示例
Jan 24 Python
python3使用QQ邮箱发送邮件
May 20 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
详解Django定时任务模块设计与实践
Jul 24 Python
Django框架HttpResponse对象用法实例分析
Nov 01 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
详解Python中的路径问题
Sep 02 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
中英文字符串翻转函数
2008/12/09 PHP
PHP 函数学习简单小结
2010/07/08 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
JavaScript 基础篇(一)
2012/03/30 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
JavaScript的setter与getter方法
2017/11/29 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
Vue数据绑定实例写法
2019/08/06 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
python的dict,set,list,tuple应用详解
2014/07/24 Python
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python assert关键字原理及实例解析
2019/12/13 Python
通过实例解析Python return运行原理
2020/03/04 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
应聘医学检验人员自荐信
2013/09/27 职场文书
计算机应用专业推荐信
2013/11/13 职场文书
理工类毕业自我鉴定
2014/02/20 职场文书
档案接收函格式
2015/01/30 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
详解MindSpore自定义模型损失函数
2021/06/30 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA