本部分学习Python的IO操作,包括StringIO、BytesIO以及文件(夹)操作3个部分。
一、StringIO
StringIO用于在内存中生成并操作字符串。操作模式和之前练习的文件内存操作类似,是通过IO流的模式进行操作。代码如下:
# 1. string io
import os
from datetime import datetime
from io import StringIO, BytesIO
str_io = StringIO()
str_io.write("Hello")
str_io.write(" ")
str_io.write("world")
print(str_io.getvalue())
str_io.seek(0, 0)
while True:
str = str_io.readline()
if str == "":
break
print(str.strip())
# 移动指针
str_io.seek(2, 0)
print(str_io.readline())
str_io_two = StringIO("What's this ?\nThis is a boy.")
while True:
str = str_io_two.readline()
if str == "":
break
print(str.strip())
print(str_io_two.getvalue())
需要注意的是,通过IO操作字符串,当使用write和read方法时,实际上是有一个指针在移动指向当前操作的位置的。因此,上面代码中
# 移动指针
str_io.seek(2, 0)
是为了将指针移回到从开头两个字符的位置。否则,你直接通过read函数读取,是读不到任何信息的。移动后,通过read读取,输出为:
llo world

这篇博客详细介绍了Python的IO操作,涵盖StringIO、BytesIO以及文件和目录的操作。StringIO在内存中处理字符串,BytesIO处理字节,两者都使用IO流模式。BytesIO涉及字节编码问题,而文件和目录操作主要依赖os/os.path模块。文章通过实例代码辅助理解。
最低0.47元/天 解锁文章
892

被折叠的 条评论
为什么被折叠?



