Python之IO模块
Posted 爱编程1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之IO模块相关的知识,希望对你有一定的参考价值。
1.StringIO的使用
# 类似文件的缓冲区 from io import StringIO cache_file = StringIO() print(cache_file.write(‘hello world‘)) # 11 print(cache_file.seek(0)) # 0 print(cache_file.read()) # hello world print(cache_file.close()) # 释放缓冲区 如果你依然在编程的世界里迷茫, 不知道自己的未来规划, 对python感兴趣, 这里推荐一下我的学习交流圈QQ群:895 797 751, 里面都是学习python的,
- StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作;
- 要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取;
- 当使用read()方法读取写入的内容时,则需要先用seek()方法让指针移动到最开始的位置,否则读取不到内容(写入后指针在最末尾);
- getvalue()方法:直接获得写入后的str;
- close()方法:在关闭文件的缓冲区之后就不能再进行读写操作了;
2.BytesIO的使用
# 类似文件的缓冲区 from io import BytesIO bytes_file = BytesIO() bytes_file.write(b‘hello world‘) bytes_file.seek(0) print(bytes_file.read()) # b‘hello world‘ bytes_file.close() 如果你依然在编程的世界里迷茫, 不知道自己的未来规划, 对python感兴趣, 这里推荐一下我的学习交流圈QQ群:895 797 751, 里面都是学习python的,
- StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO;
- BytesIO实现了在内存中读写bytes,写入的不是str,而是经过UTF-8编码的bytes;
- 要读取BytesIO,可以用一个bytes初始化BytesIO,然后像读文件一样读取;
以上是关于Python之IO模块的主要内容,如果未能解决你的问题,请参考以下文章