IO流是Python程序可以从硬盘中读取文件的基础。IO流主要方法为:open()close()

input & output

语法为:

open(file)

在file中填写文件的路径,可以打开相对应的文件,将流实例化为对象,可以对这个文件进行操作。
后面加参数,说明为输入流还是输出流,完整语法为:

open=(<file path>,"<方向>")

方向处填写r或w即为输入或输出流。可加参数:

参数名

含义

r

以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+

打开一个文件用于读写。文件指针将会放在文件的开头。

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w

打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb

以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+

打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+

以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a

打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+

打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+

以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

注:如果不填写参数默认为:“r”,即read,输入流

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,关闭流。