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开发WebService系列教程之REST,web.py,eurasia,Django
Jun 30 Python
python修改注册表终止360进程实例
Oct 13 Python
python关闭windows进程的方法
Apr 18 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
python变量不能以数字打头详解
Jul 06 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
python多线程http压力测试脚本
Jun 25 Python
vscode 配置 python3开发环境的方法
Sep 19 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
利用Python函数实现一个万历表完整示例
Jan 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
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
如何通过js实现图片预览功能【附实例代码】
2016/03/30 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
Bootstrap表单控件学习使用
2017/03/07 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
详解VueJs中的V-bind指令
2018/05/03 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
python友情链接检查方法
2015/07/08 Python
Python3 Random模块代码详解
2017/12/04 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
高一家长会邀请函
2014/01/12 职场文书
企业给企业的表扬信
2014/01/13 职场文书
幼儿园开学家长寄语
2014/01/19 职场文书
小学毕业感言500字
2014/02/28 职场文书
党员个人整改措施
2014/10/24 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android