时间:2021-05-22
本文实例讲述了Python内存读写操作。分享给大家供大家参考,具体如下:
Python中的读写不一定只是文件,还有可能是内存,所以下面实在内存中的读写操作
示例1:
# -*- coding:utf-8 -*-#! python3from io import StringIOf=StringIO()f.write('everything')f.write('is')f.write('possible')print(f.getvalue())运行结果:
everythingispossible
在内存中新建一个StringIO,然后进行写入
获取的时候用的是getvalue()函数
而读取的时候可以用一个循环判断,比如:
示例2:
# -*- coding:utf-8 -*-#! python3f=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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代
硬盘的结构及硬盘分区 由于磁盘的读写操作是机械操作(磁盘的旋转和磁头驱动臂带动磁头的移动),所以磁盘的读写速度与内存的读写速度相比,就太慢了(一般慢100
本文实例讲述了python文件读写操作与linuxshell变量命令交互执行的方法。分享给大家供大家参考。具体如下:python对文件的读写还是挺方便的,与li
我就废话不多说了,还是直接看代码吧!#利用python在内存中读写str和二进制数据fromioimportStringIOfromioimportBytesI
1.在python中excel的简单读写操作,推荐使用xlrd(特别是读操作)2.到http://pypi.python.org/pypi/xlrd去下载xlr