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打开多个文件操作

![clipboard[1] clipboard[1]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213255428-157045593.png)
![clipboard[2] clipboard[2]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213257678-1388855250.png)
![clipboard[3] clipboard[3]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213259975-1950147989.png)
![clipboard[4] clipboard[4]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213302256-1448186697.png)
![clipboard[5] clipboard[5]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213305256-1915354442.png)
![clipboard[6] clipboard[6]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213307631-149083919.png)
![clipboard[7] clipboard[7]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213309866-1899317922.png)
![clipboard[8] clipboard[8]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213313381-549812768.png)
![clipboard[9] clipboard[9]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213315881-892029904.png)
![clipboard[10] clipboard[10]](https://images2015.cnblogs.com/blog/953121/201605/953121-20160524213318334-1340597353.png)