Python文件打开模式
Python open() 函数
Python 内置函数 Python 内置函数
python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。
函数语法
open(name[, mode[, buffering]])
参数说明
- name : 一个包含了你要访问的文件名称的字符串值。
- mode : mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
- buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取1,访问文件时会寄存行。如果将 buffering 的值设为大于 1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
打开模式 | 执行操作 |
---|---|
‘r’ | 以只读方式打开文件(默认),该模式下不能进行写入操作 |
‘w’ | 以写入的方式打开,如已有该文件会覆盖文件,此模式下不能进行读操作 |
‘x’ | 如果文件已经存在,使用此模式打开将引发异常 |
‘a’ | 已写入模式打开,如果文件存在,则在末尾追加写入,此模式不可读 |
‘b’ | 以二进制模式打开该文件,不能单独使用,要用“+”联合使用,如‘r+b’等 |
‘t’ | 以文本模式打开(默认) |
‘+’ | 可读写模式(可以用来连接各个模式) |
‘U’ | 通用换行符支持 |
文件对象方法
写入文件时,不会自动加入换行,需要手动在末尾加入,
①在每个元素后面都换行\n,可以用
fo.writelines([line+’\n’ for line in list1])
先用for…in…把每个元素提取出来后都加上\n的操作,这样每个元素都会进行换行
②在每个数组后面换行,将’\n’看成一个元素,加到列表的最后一个
list1.append(’\n’) 用append将’\n’元素添加到列表的最后
这样输出文件的到windows的时候,文本会识别\n进行换行操作
fo = open(“2”, “w”)
list1=[‘a’,‘b’,‘c’,’\n’]
list1.append(’\n’) #添加列表换行元素
fo.writelines(list1)
fo.writelines([line+’\n’ for line in list1]) #每个元素都进行换行操作
文件对象方法 | 执行操作 |
---|---|
f.close() | 关闭文件 |
f.read([size=-1]) | 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回 |
f.readline([size=-1]) | 从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符 |
f.write(str) | 将字符串str写入文件 |
f.writelines(seq) | 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象 |
f.seek(offset, from) | 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节 |
f.tell() | 返回当前在文件中的位置 |
f.truncate([size=file.tell()]) | 截取文件到size个字节,默认是截取到文件指针当前位置 |