Python内存读写操作示例

 更新时间:2018年07月18日 14:46:34   作者:笨鸟可以先飞呀  
这篇文章主要介绍了Python内存读写操作,结合实例形式分析了Python常见内存读写操作使用方法及相关注意事项,需要的朋友可以参考下

本文实例讲述了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'

如下图所示:

 

而写入同时也是:

>>> 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\jb51PyDemo\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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • 使用Python实现为PDF文档设置背景色或背景图

    使用Python实现为PDF文档设置背景色或背景图

    PDF作为一种跨平台、高保真的文件格式被广泛应用,这篇文章主要为大家详细介绍了如何使用Python代码对PDF文档进行页面背景色或背景图片的设置,需要的可以参考下
    2024-04-04
  • python标准库之time模块的语法与简单使用

    python标准库之time模块的语法与简单使用

    在平常的代码中,我们常常需要与时间打交道,那么在Python中,与时间处理有关的模块就包括:time、datetime以及calendar,这篇文章主要给大家介绍了关于python标准库之time模块的语法与使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • 利用Python的Django框架中的ORM建立查询API

    利用Python的Django框架中的ORM建立查询API

    这篇文章主要介绍了利用Python的Django框架中的ORM建立查询API,对Managers和QuerySets进行了着重介绍,需要的朋友可以参考下
    2015-04-04
  • Python机器学习工具scikit-learn的使用笔记

    Python机器学习工具scikit-learn的使用笔记

    这篇文章主要介绍了Python机器学习工具scikit-learn的使用笔记,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-01-01
  • Python结合百度语音识别实现实时翻译软件的实现

    Python结合百度语音识别实现实时翻译软件的实现

    这篇文章主要介绍了Python结合百度语音识别实现实时翻译软件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • pandas如何灵活增加新的空字段

    pandas如何灵活增加新的空字段

    这篇文章主要介绍了pandas如何灵活增加新的空字段问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python+Opencv身份证号码区域提取及识别实现

    Python+Opencv身份证号码区域提取及识别实现

    这篇文章主要介绍了Python+Opencv身份证号码区域提取及识别实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 分享一下Python 开发者节省时间的10个方法

    分享一下Python 开发者节省时间的10个方法

    在这篇文章,我想强调一些 Python 可以节约时间并最大限度地提高生产力的方面。在做准备时,我咨询了几个 Pythonists,他们最节省时间的技巧是什么?答案在这里
    2015-10-10
  • Python ftp上传文件

    Python ftp上传文件

    这篇文章主要介绍了Python ftp上传文件的相关资料,需要的朋友可以参考下
    2016-02-02
  • pandas中数据的排序与排名的具体使用

    pandas中数据的排序与排名的具体使用

    Pandas对数据进行排序和排名是非常常见的操作,本文主要介绍了pandas中数据的排序与排名的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07

最新评论