open()函数的可选参数还是比较多的,一般在读取文件时只使用文件路径、文件打开模式就可以完成大多数的使用场景。使用open()函数打开文件后返回的就是一个File文件对象,然后使用File对象的内部函数实现对文件的操作,需要注意的是在完成文件对象的操作后必须对文件进行关闭。
1open(/usr/load/download//test.txt,mode=r)
open()函数的完整的语法格式
1open(/usr/load/download//test.txt,mode=r,buffering=-1,2encoding=None,errors=None,newline=None,closefd=True,opener=None)
open()函数完整语法格式的各个可选参数代表什么样的含义
1file:必填参数项--文件的打开的路径(支持相对路径和绝对路径)2mode:可选参数项--文件打开模式,默认为只读模式3常见的mode参数值的格式4#打开模式5b:--以二进制模式打开6t:--以文本模式打开(缺省模式)7+:--以读写模式打开8U:--以通用换行符模式打开9#操作模式10r:--以只读模式打开11w:--以只写模式打开12a:--以追加模式打开13#组合模式,将打开模式与操作模式进行组合使用,下列为常见组合14r+:--以文本读写模式打开15w+:--以文本读写模式打开16a+:--以文本读写模式打开17buffering:可选参数项--设置缓冲,缓冲的设置是为了减少IO的使用,一般设置0(二进制模式关闭缓冲),1(文本模式一行的缓冲),1(初始化缓冲的大小)18encoding:可选参数项--文件编码,一般情况使用utf-8编码即可19errors:可选参数项--设置报错级别,为None时不设置,为strict时字符编码出现问题会报错,为ignore时忽略编码问题20newline:可选参数项--区分换行符,只对文本模式有效,一般情况下可以取值None,\n,\r,,\r\n来自定义换行21closefd:可选参数项--传入的file参数类型,为True时参数类型表示文件名称,False时为文件描述符22opener:可选参数项--设置自定义开启器,返回值必须是一个打开的文件描述符。2、File文件操作对象
File-file_obj.write(string)
1#使用只写的模式打开文件2file_obj=open("/usr/load/test.txt","w")3#定义原始数据4string="Python集中营"5#将字符串写入文件6file_obj.write(string)7#关闭文件8file_obj.close()
File-file_obj.tell()
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3current_data=file_obj.tell()4print"当前数据位置:",current_data
File-file_obj.read([size])
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5#读取5个字节6data1=file_obj.read(5)7#读取整个文件8data2=file_obj.read(-1)
File-file_obj.next()
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5foriinrange(10):6#读取下一行7data_line=file_obj.next()8print"第%d行-%s"%(i,data_line)9#关闭文件10file_obj.close()
File-file_obj.readline([size])
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5#读取一行的10个字节6data_line1=file_obj.readline(10)7#读取一行8data_line2=file_obj.readline()
File-file_obj.readlines([size])
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5#readlines()函数读取所有行6#遍历每行7fordata_lineinfile_obj.readlines():8#去除首尾多余的空格9data_line=data_line.strip()#关闭文件12file_obj.close()
File-file_obj.flush()
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5#刷新缓冲区6file_obj.flush()7#关闭文件8file_obj.close()
File-file_obj.close()
1#使用读写的模式打开文件2file_obj=open("/usr/load/test.txt","rw+")3#获取文件名称4print"文件名为:",file_obj.name5#关闭文件6file_obj.close()
长按