python file文件函数

python open() 函数 用来打开文件。它也是python使用文件的第一个步骤。

该函数不能单独使用,因为打开文件执行完成之后需要关闭 file.close()函数,还有打开文件需要干什么,当然是读取文件内容 file.read()等函数。

语法

open(filename,mode='r',buffering=-1,encoding = None)

参数

参数
说明必须/可选
filename指定要打开的文件必须
mode

打开文件的模式,它有这些模式:

  • r 默认读取
  • r+ 读写文件
  • rb 读二进制
  • rb+ 读写二进制
  • w 默认写
  • w+ 读写文件
  • wb 写二进制
  • wb+ 读写二进制
  • a 默认追加
  • a+ 追加写入和读取
  • ab 追加二进制
  • ab+ 追加写入和读取二进制

可选
buffering

是否使用缓冲区,默认使用缓冲区

  • -1:使用缓冲区
  • 0或False:不使用缓冲区
可选
encoding 
打开文件的编码,默认gbk编码可选

返回值

成功打开文件的指针

注意点

  • 打开文件需要有相应的权限。

例子

现介绍一个简单的例子了解该函数的使用方法。

这里结合file.close()file.read() 函数介绍该函数的使用:

#!/usr/bin/python
# coding=utf-8
file = open('d:\\yxjc123.txt', encoding='utf-8')  # 只读的方式打开等价于open("d:\\yxjc123.txt", "rt")
content = file.read(1024)  # 读取文件内容
file.close()
print(content) 

输出:

python open():打开文件

如果这里没有设置encoding='utf-8'参数会报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 66: illegal multibyte sequence

因为我们一般情况下会设置文件的编码为utf8,但是打开的模式默认为gbk的编码,因此编码不一致,所以报错。