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中的exec、eval使用实例
Sep 23 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Python3中类、模块、错误与异常、文件的简易教程
Nov 20 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
Django数据库操作之save与update的使用
Apr 01 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 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生成动态验证码gif图片
2015/10/19 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP7 windows支持
2021/03/09 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
原生javascript实现Tab选项卡切换功能
2015/01/12 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
JQuery EasyUI的一些常用组件
2017/07/12 jQuery
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
2020/05/19 jQuery
关于ES6尾调用优化的使用
2020/09/11 Javascript
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python读取Excel的方法实例分析
2015/07/11 Python
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
python3中函数参数的四种简单用法
2018/07/09 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
Django中create和save方法的不同
2019/08/13 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
Python sublime安装及配置过程详解
2020/06/29 Python
keras:model.compile损失函数的用法
2020/07/01 Python
python代码实现图书管理系统
2020/11/30 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
物流业务员岗位职责
2014/02/08 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
小学生作文评语
2014/04/18 职场文书
市场营销策划方案
2014/06/11 职场文书
2014年团总支工作总结
2014/11/21 职场文书
布达拉宫的导游词
2015/02/02 职场文书
python数字转对应中文的方法总结
2021/08/02 Python