文件操作
python中文件的操作主要包括“读”和“写”
文件打开的两种方式:
1.
文件对象=open("文件名称","模式","encoding="utf-8"")
2.
with open ("文件名称","模式","encoding="utf-8"")as 文件对象
文件对象.文件的操作
文件的三种模式:
w:
只写模式。写文件时会清空文件的内容,文件不存在时,会创建一个文件
r:
只读模式。读取文件内容,对于读取的的内容以二进制的方式打开,如果读取的文件不存在会报错
a:
追加模式。在文章的末尾追加,如果文件不存在,会创建一个文件
在操作完文件后一定要调用close()函数将打开的文件关闭,否则改变后的文件内容不会保存到文件中,如果没有调用close()函数,操作系统不会立刻把数据写入磁盘,只是先缓存起来,只有调用close()函数是,才做系统才会保证把没有写入的数据全部写入到磁盘文件中
1.打开一个文件并写入内容
当文件不存在时,默认会创建一个文件,再写入(只适合写新文件)
2.写入多行数据
使用writelines()函数向文件中写入多行数据时,不会自动给各行添加换行符
3.在文件中追加新的内容
当文件不存在时,默认会创建一个文件,再写入
4.读取文件:read()--是读取文件中所有的内容,返回的类型是字符串,如果文件中包含字符串类型,在读取文件时要指定encoding=”utf-8“
5.读取文件:readline()---用于指定读取每一行数据,返回的类型是字符串,如果文件中包含字符串类型,在读取文件时要指定encoding=”utf-8“(读取文件是如果文件不存在,会报错)
5.读取文件:readlines()---读取所有行,返回的类型是列表类型,如果文件中包含字符串类型,在读取文件时要指定encoding=”utf-8“(读取文件是如果文件不存在,会报错)
+模式:
w+:可读可写。若先读后写,该模式打开文件时会先清空文件里的内容,因此先读的情况下,不会获取到任何内容。若先写后读,该模式先打开文件后清空文件内容再将新的内容写入,如果需要读取文件需要调用文件对象.sekk(0)函数使阵指针回到初始位置开始读取。---若文件不存在时会自动创建
r+:可读可写.若是先读后写会在原文的末尾添加,文件读完后指针已经在末尾。若先写后读,是从头开始覆盖写(只覆盖修改的字符,后面的字符不会被删除)而指针停留在文件覆盖的内容末尾,而不是文件的末尾,可以读出未覆盖的部分,若需要读取所有的内容读取文件前需要调用.seek(0)函数。---读取的文件如果不存在会报错
a+:追加读写.使用该模式打开一个文件一般不能先读后写,此时指针已经在文件的末尾,在不移动指针的情况下读取不到任何内容。先写后读模式,是在文件的末尾进行追加,不会覆盖文件中原有的内容,若写完后想要读取内容在不调用seek()函数前提下读取的内容为空,当内容追加后当前指针在文件的末尾,如果想要读取文件的内容需要调用函数使指针回到初始位置--如果文件不存在会自动创建文件。
其他操作:
seek(int):改变指针的位
close():刷新缓冲区里任何还没有写入的信息,并关闭文件
tell():获取指针当前的位置
os.rename():重命名文件---重命名文件是需要两个参数,当前文件名和新文件名
os.remove():删除文件--需要提供文件名作为参数