文件的操作
1 对文件操作流程:
1 打开文件,得到文件句柄并赋值给一个变量
2 通过句柄对文件进行操作
3 关闭文件
2 基本操作:
f=open("路径/文件","打开模式",encoding="字符编码")
注:f 别名文件句柄,它包含文件的文件名、文件的字符集、文件的大小、文件在硬盘上的起始位置。
打开模式:
1 r 只读模式
2 w 只写模式。不可读,不存在则创建,存在则删除内容。
3 a (append)追加模式
4 r+ 以读写模式打开,能读且能追加
5 w+ 以写读模式打开,先创建一个文件,没什么卵用
6 a+ 以读写模式打开,追加读写
7 rb 以二进制读模式打开,例如网络传输文件、下载视频
8 wb 以二进制格式写文件,例 f.write("liupeng".encode()) 只能以二进制形式写入,且需要转为默认的编码格式。注意会删除原有内容。
注:看起来是字符串,实际上是以二进制编码来处理的。
9 rU 读取时,可以将\r \n \r\n自动转换成\n
特别注意:上述模式只在python3.x中区别比较大,而在2.x中没多大区别!
常用方法:
1 fp.read([size]) size 为读取的长度,以byte为单位。如果没有定义siez,就会将整个文件内容读到内存中。
2 fp.readline([size]) 逐行读取,如果定义了size ,可能只读到一行的一部分。
3 fp.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list.如果定义了size,它可能只读到文件的一部分。如果没有定义size,则会将内容全部读取到内存中。
4 fp.write(str),写入str,但不会在str后加上一个换行符。
5 fp.writeline(seq) 吧seq的内容全部写到文件中(多行一次性写入)。它只是写,不会在每行后面加上任何东西。
6 fp.close() 关闭文件
7 fp.tell() 返回文件操作标记的当前位置,以文件的开头为原点。
8 fp.seek(offset[,whence]) 将文件打开操作标记移到offset的位置,这个offset一般是相对于文件的开头来计算 。如果whence为0表示从头开始计算,1表示以当前位置为原点计算,2表示文件末尾为原点进行计算。
with as 的用法:python2.5中开始引入一种与异常处理相关的功能。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。
python 使用with as的语法,当python执行这一句时,会调用__enter__函数,然后把该函数return的值传给as后指定的变量。之后,python会执行下面的语句块。最后不论在该语句出现了什么异常,都会在离开时执行__exit__.
1 with open("123.txt","r",encoding="utf-8") as f: 2 for line in f: 3 print (line)
注意:在python2.7以后,with又支持同时对多个文件的上下文进行管理。
with open("123.txt","r",encoding="utf-8") as f ,\ # 一行至多80个字符 open("321.txt","r",encoding="utf-8") as f1;

浙公网安备 33010602011771号