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解析中国天气网的天气数据
Mar 21 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
Apr 23 Python
python模拟Django框架实例
May 17 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
python实现简单加密解密机制
Mar 19 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python3+Appium安装使用教程
Jul 05 Python
python实现超市管理系统(后台管理)
Oct 25 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 Python
python 实现有道翻译功能
Feb 26 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
php原生数据库分页的代码实例
2019/02/18 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
package.json文件配置详解
2017/06/15 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
Python 爬虫的工具列表大全
2016/01/31 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python实现彩票系统
2020/06/28 Python
python实现连连看游戏
2020/02/14 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
经济实惠的豪华背包和行李袋:Packs Project
2018/10/17 全球购物
美国按摩椅批发网站:Titan Chair
2018/12/27 全球购物
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
华为python面试题
2016/05/03 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
生产部经理岗位职责
2013/12/16 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
元旦晚会感言
2014/03/12 职场文书
财产公证书
2014/04/10 职场文书
安全标语口号
2014/06/09 职场文书