IO流是Python程序可以从硬盘中读取文件的基础。IO流主要方法为:open()
和close()
语法为:
open(file)
在file中填写文件的路径,可以打开相对应的文件,将流实例化为对象,可以对这个文件进行操作。
后面加参数,说明为输入流还是输出流,完整语法为:
open=(<file path>,"<方向>")
方向处填写r或w即为输入或输出流。可加参数:
参数名 | 含义 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
注:如果不填写参数默认为:“r”,即read,输入流
将文本文件的io流实例化为对象之后可以使用read()
方法读取字符串,括号内传入参数设定读取的字符数量,例如:
a = open("aaaa.txt", "r")
str = a.read(15)
print ("读取的字符串是 : ", str)
a.close()
这段代码可以读取aaaa.txt的前15个字符,同事还可以使用readline()来读取文件的一行。
在io流进行完读写操作之后一定要关闭流,否则会造成很大的资源占用。关闭流使用close()
,例如我上面代码里的a.close()
。
同时也可以使用with语句块来自动关闭流。
with open("c:\test.txt", "r") as f:
data = f.read()
使用with语句块在语句块结束的时候自动调用close,关闭流。