open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)
打开文件并返回一个流 也可以将StringIO(文本)或BytesIO(二进制)作为文件来读写
参数
filename
-
文件名或URL。
mode
-
打开模式,默认为只读'r'。
- 'r',只读(默认)。
- 'w',只写,并清空文件内容。
- 'a',附加内容到文件尾部。
- 'b',二进制。
- 't',文本(默认)。
- '+',读、写。
buffering
-
可选,设置缓存方式。
- 0,禁用缓存(仅在二进制模式时有用)。
- 1,行缓存(仅在文本模式时有用)。
- -1,固定大小的块缓存。
encoding
-
可选,字符编码,在文本模式下有用。
errors
-
可选,如何处理编码错误。
- 'strict',有编码错误时抛出ValueError例外(同默认值None一样)。
- 'ignore',忽略错误,有可能导致数据丢失。
newline
-
可选,控制newlines。可以为None,'','
','
','
'。
closefd
-
可选,如果closefd为False,当关闭文件时,底层文件描述符会继续处于打开状态。当提供了文件名时,这个参数必须为True。
返回值
返回文件对象,如果是文本文件,返回TextIOWrapper。如果是二进制文件,读时返回BufferedReader,写时返回BufferedWriter。
1.文件操作方法:
f.read 读取文件所有内容
f.read 读取文件所有内容
f.readline 读取一行内容
f.readlines 读取每行内容,返回一个列表
f.close() 关闭文件
f.seek() 移动指针到指定位置
f.tell() 获取当前指针位置
f.flush() 把缓存写入到硬盘
f.mode() 显示文件打开格式
f.truncate() f.truncate(10)截取文件0-10字符,超出部分删除
f.writelines() 传入一个列表,并将列表每个元素写入到文件
f.xreadlines() 已迭代方式循环文件,每循环一次,只读一行。处理大文件效率高
2.1 f.read 读取文件所有内容
2.2 f.readline 读取一行内容
2.3 f.readlines 读取每行内容,返回一个列表
2.4 f.seek() 移动指针到指定位置
2.5 f.tell() 获取当前指针位置
2.6 f.truncate()
f.truncate(10)截取文件0-10字符,超出部分删除
2.7 f.writelines() 传入一个列表,并将列表每个元素写入到文件
2.8 f.xreadlines() python3.x已弃用
已迭代方式循环文件,每循环一次,只读一行。处理大文件效率高
3.for循环文件对象
3.1with打开多个文件操作