IO是输出输入的意思
在计算机中常用到的数据交换的地方是磁盘, 网络等
输入流是从外面(磁盘, 网络)流进内存
输出流是从内存流到外面(磁盘, 网络)
同步IO是指等待IO完成再继续执行
异步IO是在IO操作的时候CPU继续执行别的工作
同步和异步的区别就在于是否等待IO执行的结果
1 文件的读写
2 StringIO和BytesIO
2.1 StringIO
通过导入io模块来获得StringIO
StringIO是在内存中读取str
通过write()写入内容
通过getvalue()方法获得的得到的内容str
同样可以逆向操作, 读内存str, 此时可以使用read()和readline()方法
具体操作如下
from io import StringIO str = StringIO()str.write("hello")str.write(" ")str.write("world")print(str.getvalue())str = StringIO(‘Hello!\nHi!\nGoodbye!‘)print(str.read())
2.1 BytesIO
StringIO操作的只能是str, 如果要操作二进制数据, 就需要使用BytesIO
同样需要通过导入io模块来获得BytesIO
在Python中str类型是Unicode, 想要获得bytes需要使用encode方法会编码
获得bytes内容用getvalue()
读取bytes内容用read()
具体实例如下
from io import BytesIO f = BytesIO() f.write(‘中文‘.encode(‘utf-8‘)) print(f.getvalue()) # b‘\xe4\xb8\xad\xe6\x96\x87‘ f = BytesIO(b‘\xe4\xb8\xad\xe6\x96\x87‘) print(f.read())
3 操作文件和目录
导入os模块可以实现操作系统的dir, cp等功能
import os
查看操作系统类型, posix是Linux系列操作系统, nt是win系列系统
os.name
获取详细系统信息, unama()只是linux系统有
os.uname()
查看环境变量
os.environ
要获取某个环境变量的值
os.environ.get(‘PATH‘)
查看当前目录的绝对路径
os.path.abspath(‘.‘)
创建目录
os.mkdir(‘/Users/michael/testdir‘)
删除目录
os.rmdir(‘/Users/michael/testdir‘)
时间: 2024-10-22 18:03:04