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