作用:需要把数据永久存储起来,随时使用随时读取,主要用于数据的读取。
open()基本语法如下:
fileobj = open(
fileName,
mode="r",
buffering = -1,
encoding = None,
errors = None,
newline = None,
closefd = Ture,
opener = None
);
#c除了fileName参数,其他参数都可以是默认,其中mode有多个参数
说明:
fileName:
是指定要打开的文件的名称,数据类型为字符串。
mode:
有多个参数,详情见图:
buffering:
用于指定打开文件所用的缓冲方式,指用于读取文件的缓冲区,就是一段内存区域,该值为0表示不缓冲,为1表示指缓冲一行数据,为-1表示默认系统的缓冲机制,默认是-1.
encoding:
用于指定文件的编码格式,默认为UTF-8。
errors:
取值一般有strict和ignore,取strict如字符出现编码问题,会报错,反之程序会忽略。
1.读文件
read() :使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。如果文件不存在,则会报一个IO错误。
filename = open("1.txt","r")
#打开文件
readlines() :就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
readline():这个参数我需要找下相关资料,目前拿到的资料没有该数据的说明
温馨提示:如果文件很大的话,建议反复调用read(size),如果是读取配置文件,可以使用readines会比较好。
2.写文件
open():打开一个不存在的文件会默认写入此文件。但是如果打开的是已有的话,就不会默认写入了。
filename="/var/log/test,txt"
fp = open(fileame,"w")
fp.write("hello,宝贝儿“)
write():再者就是使用这个函数进行内容的写入。如果文件不存在那么创建,如果存在那么就先清空,然后写入数据。
2.1 定位读写
tell() :可以先使用一个变量打开要打开的文件,然后在使用另外一个变量存,且获取,如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()。
seek(offset, from) :0表示文件开头 ,1表示文件当前位置,2.表示文件末尾.
3.关闭文件
变量名.close() :括号不需要参数