文件指针标记了从哪个位置开始读取数据。
第一次打开文件时,通常文件指针会指向文件开始的位置。
当执行了read方法后,文件指针会移动到读取内容的末尾。
当我们执行了一次read方法后,读取了所有内容,那么再次调用read方法,我们不会得到任何内容,因为第一次读取之后文件指针被移动到了文件的末尾。
open函数默认以只读的方式打开文件,并且返回文件对象。
f=open("文件名","访问方式")
项访问方式 | 说明 |
---|---|
r | 以只读的方式打开文件,文件的指针将会放到文件的开头,这是默认模式,如果文件不存在,抛出异常。 |
w | 以只读的方式打开文件,如果文件存在将会被覆盖,如果文件不存在,创建新文件 |
a | 以追加方式打开文件,如果文件已存在,文件指针将会放在文件的结尾,如果文件不存在,创建新文件进行写入 |
r+ | 以读写的方式打开文件,文件的指针将会放在文件的开头,如果文件不存在,抛出异常。 |
w+ | 以读写的方式打开文件,如果文件存在将会被覆盖,如果文件不存在,创建新文件 |
a+ | 以读写的方式打开文件,如果文件已存在,文件指针将会放在文件的结尾,如果文件不存在,创建文件进行写入。 |
现在我们创建一个文件。
#文件名321 hello python hello world
#1.打开 file=open("321","w") #2.写入 file.write("hello") #3.关闭 file.close
我加入了w参数,会覆盖文件的内容。我们运行程序后会发现什么都没输出,当我们查看文件的时候会发现,文件中只有hello了。说明文件被覆盖成功了。
当我们将“w”参数改为“a”参数会有什么样的结果呢。
#1.打开 file=open("321","a") #2.写入 file.write("hello") #3.关闭 file.close
这是我们查看文件会发现文件中除了原来的文本还多了一个hello。
a参数是在文件后追加一个。而w参数是直接覆盖。是两种不同的写入方式。
readline方法可以一次读取一行内容。
方法执行后,会把文件指针移动到下一行,准备再次读取。
#打开文件 file=open("123") while Ture: #读取一行内容 text=file.readline() #判断是否读到内容 if not text: break #每读取一行的末尾加一个“” print(text,end="") #关闭文件 file.close()