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 相关文章推荐
linux系统使用python获取cpu信息脚本分享
Jan 15 Python
Python continue语句用法实例
Mar 11 Python
深入学习python的yield和generator
Mar 10 Python
python字符类型的一些方法小结
May 16 Python
Python 使用requests模块发送GET和POST请求的实现代码
Sep 21 Python
Python MySQL数据库连接池组件pymysqlpool详解
Jul 07 Python
Python中的枚举类型示例介绍
Jan 09 Python
django框架创建应用操作示例
Sep 26 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
python实现二分查找算法
Sep 18 Python
python 单机五子棋对战游戏
Apr 28 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
自动跳转中英文页面
2006/10/09 PHP
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
javascript 闭包详解及简单实例应用
2016/12/31 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
自动化专业本科毕业生求职信
2013/10/20 职场文书
高中化学教学反思
2014/01/13 职场文书
委托公证书
2014/04/08 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
房地产经营管理专业自荐信
2014/09/02 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
企业财务管理制度范本
2015/08/04 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers