python中关于文件的读取和写入

时间:2023-03-08 16:47:12

open()和close()方法:
使用python的内置函数open()打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

file object = open(file_name [, access_mode][, buffering])

file_name:文件路径
access_mode:文件打开方式(r,r+,w,w+.....)
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

重点介绍一下access_mode:
r:使用文件以只读的方式打开,指针会定位到文档的开头;
r+:使用文件以读写的方式打开,指针会定位到文档的开头;

使用“r/r+”操作文件,若文件不存在,会在指定的路径下创建对应文件名的文件,若存在,则进行读取

w:使用文件以只写的方式打开,指针会定位到文档的开头;
w+:使用文件以读写的方式打开,指针会定位到文档的开头;
使用“w/w+”操作文件,若文件不存在,会在指定路径下创建对应文件名的文件;若存在,则会对已存在的文件进行覆盖(并将原文件内容清空)

close()方法:一般在使用open()打开文件之后都会将文件进行close()

文件的read方法:
read()、readlines()、readline()

fileObject.read([count]):count表示从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

fileObject.readline([size]); size -- 从文件中读取的字节数 readline()方法每次读取文件中的一行,当传入size作为参数时,代表从当前行读取的字节数

read()和readline()方法返回的都是字符串

fileObject.readlines( );readlines()从文件中读取所有的行,以列表的型式返回,可以循环从列表中接收对应的字符串

read()、readline()方法执行之后,指针指到了文件的读到的位置,可通过tell()方法获取文件指针当前位置,执行read之类的方法之后若想将文件指针指到文件开头,可使用seek(offset [,from])方法,offset表示移动的字节数,from表示从哪个位置开始移动
若指向文件的开头,可设置为seek(0,0)或者使用close()将文件关闭