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中截取字符函数strip,lstrip,rstrip
Jul 17 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
python清理子进程机制剖析
Nov 23 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
python 以16进制打印输出的方法
Jul 09 Python
python实现键盘控制鼠标移动
Nov 27 Python
java中的控制结构(if,循环)详解
Jun 26 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
Python字符串格式化方式
Apr 07 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整数取余返回负数的相关解决方法
2014/05/15 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
2014/09/10 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
详解js中构造流程图的核心技术JsPlumb
2015/12/08 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python 获取list特定元素下标的实例讲解
2018/04/09 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
优秀大学生职业生涯规划书
2014/02/27 职场文书
国际贸易专业求职信
2014/06/04 职场文书
三八活动策划方案
2014/08/17 职场文书
先进个人申报材料
2014/12/30 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技