python文本文件操作
文件操作是编程中常见的操作,这次,主要总结一下python中的文本文件操作。
一般来讲,文件的操作流程如下:
(1)打开文件
(2)对文件的内容进行读取,写入,删除,修改等
(3)关闭文件
打开和关闭文件
打开文件和关闭文件是文件操作的第一步和最后一步。
1、打开文件
打开文件的时候我们需要使用函数open(),其调用的一般形式如下:
文件对象=open(文件名,使用文件的方式)
注意:
常用的文件使用方式如下:
2、关闭文件
在对文件的修改完毕后,最后我们要释放文件资源,也就是关闭掉之前打开的文件,这时候,我们需要使用close()函数,其使用形式如下(其中文件对象是之前打开文件时返回的文件对象):
文件对象.close()
文件的写操作
在文本文件中,常用的写操作是借助write函数,它的功能是把字符写入指定的文件中,其调用的形式如下∶
文件对象.write(s)
其中,文件对象是open函数返回的文件对象,s是待写入文件的字符串。
结合之前在open()函数处的三种文件打开方式,我们可以知道,在使用write()函数要明确以下内容:
1、要执行写操作,则文件需要用wt或者at方式打开
2、wt方式打开的文件,在执行写操作时,会覆盖掉文件中之前存在的内容
3、at方式打开的文件,在执行写操作时,会在原有文件末尾上进行追加操作,不会发生覆盖
文件的读操作
在文本文件中,常用的读操作有如下几种。
1、read()函数
read()函数的功能是从指定的文件中读取字符,其调用的方式有两种:
- 方式一:
文件对象.read()
该方式不指定读取的字符数,可以读取到文件的全部内容。
- 方式二:
文件对象.read(n)
该方式指定了要读取的字符数,假设文件的字符数<指定字符数,则读取文件全部内容。
注意:
不管是以上哪种方式,只要文件指针已经到了文件的尾部,再读就返回一个空串。
2、readline()函数
-
功能:读取指定文件中的一行的内容,读取的规则是在文件中连续读取字符组成字符串,直读到’\n’字符或者读到文件尾部为止。(如果读到\n’,那么返回的字符串包含\n’。如果到了文件尾部,再次读就读到一个空字符串)
-
调用方式:
文件对象.readline()
3、readlines()函数
- 功能:读取指定文件的所有行的内容,其读取规则如下:它返回所有的行字符串,每行是用"\n"分开的,而且一行的结尾如果是"\n",则包含"\n"。
一般要再次使用for循环从readlines中提取每一行。
- 调用方式:
文件对象.readlines()
文件指针操作
指针的实质就是地址,文件指针其作用就是告诉我们目前操作进行到文件的哪个位置了。一般来说,文件的指针操作由如下几种。
1、tell()函数
-
功能:获取当前文件指针的位置(定位)
-
调用方式:
文件对象.tell() # 返回一个整数。
2、seek()函数
-
功能:移动指针位置(移位)
-
调用方式:
文件对象seek(offse,whence)
注意:
offset:偏移量(移动的字节数)
whence:可选,默认值为o。表示要从哪个位置开始偏移,0代表从文件开头偏移,1代表从当前位置开始偏移,2代表从文件结尾偏移
- 使用条件:
当文件使用以下方式打开时,才可以进行移位操作。
print("文件内容写入ing:")
f=open("test.txt","wt+")
print(f.tell())
s=f.write("abcd")
print(f.tell())
f.seek(2)#默认从文件开始部分偏移
print(f.tell())
s=f.write("123")
print(f.tell())
f.close()
f=open("test.txt","rt+")
s=f.read()
print("读取文件内容:\n",s)
f.close()
图解写入操作的指针位置: