open() 方法
Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
**注意:**使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode=‘r’)
完整的语法格式为:
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
mode 参数有:
模式 | 描述 |
---|---|
t | 文本模式(默认) |
x | 写模式,新建一个文件,如果这个文件已经存在会报错 |
b | 二进制模式, |
+ | 打开一个文件进行更新,可读可写 |
U | 通用换行模式(Python 3 不支持)。 |
其他基础模式,可以查看:https://blog.csdn.net/qq_41457518/article/details/123272503
默认为文本模式,如果要以二进制模式打开,加上 b 。
实例:
# 测试一些基础mode
# 测试1 t 以文本模式只读
filepath = "E:\Python\python项目\昆仑银行邮箱说明.txt"
f = open( filepath, mode = "rt" ,encoding = 'utf-8')
content = f.read()
print(content)
f.close
# 测试2 x 写模式,新建一个文件,如果该文件已存在则会报错
f = open( "FILE.txt", "x", encoding = 'utf-8')
f.write('测试一下mode = x')
print(f)
f.close
# 测试3 b 二进制模式
f = open( "FILE.txt", "rb")
content = f.read()
print(content)
f.close
# 测试4 + 打开一个文件进行更新(可读可写)。
f = open( "FILE.txt", "r+",encoding = 'utf-8')
content = f.read()
print(content)
f.write('\n测试一下+')
f.close
以上脚本运行结果:
图1 ( 实例文件原本内容 ) :
图2 ( 原本文件结构 ) :
图3 ( 脚本执行输出 ) :
图4 ( 脚本执行后文件目录结构 ) :
图5( 脚本执行后生成文件FILE.txt文件内容 ):