Python进阶教程3——python中的文件操作详解
一.文件的打开和关闭
打开文件的三步:打开 --> 操作 --> 关闭
1.open 函数
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法:
file object = open(file_name ,[ access_mode],[buffering])
各个参数的细节如下:
file_name:是一个包含了你要访问的文件名的字符串值。
access_mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表,这个参数是非强制的,默认文件访问模式为只读(r)。
buffering:如果buffering的值被设为0,就不会有寄存;如果buffering的值取1,访问文件时会寄存行;如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小;如果取负值,寄存区的缓冲大小则为系统默认。
不同模式打开文件的完全列表:
f.tell( ):查看指针位置
File对象的属性
一个文件被打开后,会得到一个file对象,你可以得到有关该文件的各种信息。
以下是和file对象相关的所有属性的列表:
2.close函数
File对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
二.文件的读写操作
1.文件的读操作
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
语法:
fileObject.read([count])
在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。
默认情况下读取文件的所有内容,小文件可以直接用read读取,如果
是大文件(文件大小>内存大小),不能通过read一次性读取所有内容
- readline():读取文件一行的内容,\n是换行符
- readlines():读取文件内容,返回一个列表,列表的元素分别为文件每
行内容,\n是换行符
去掉换行符
2.文件的写操作
write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符(’\n’):
语法:
fileObject.write(string);
在这里,被传递的参数是要写入到已打开文件的内容。
三.文件的定位
-
tell()方法告诉你文件内的当前位置即下一次的读写会发生在文件开头这么多字节之后。
由这个例子可以清楚的看出文件的指针位置产生了变化- seek(offset [,from])方法改变当前文件的位置。
seek的第一个参数是偏移量:>0,表示向右移动,<0表示向左移动
seek的第二个参数是:
0:移动指针到文件开头
1:不移动指针
2:移动指针到末尾
- seek(offset [,from])方法改变当前文件的位置。
四.上下文管理器
上下文管理就是我们常用的with…as…方法。他可以在我们打开文件后自动地关闭文件。