python中多file的操作:
1使用open() 方法用于打开一个文件,并返回文件对象(打开文件,得到文件句柄并赋值给一个变量)
2.通过文件对象对文件进行一系列操作(通过句柄对文件进行操作)
3.关闭文件对象,即调用 close() 方法。
一、open() 方法说明:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:(详情查看Python中文官网)
| file | 表示将要打开的文件的路径(绝对路径或者当前工作目录的相对路径),也可以是要被封装的整数类型文件描述符。 |
| mode | mode 是一个可选字符串,用于指定打开文件的模式。默认值是 'r' |
| buffering | buffering 是一个可选的整数,用于设置缓冲策略 |
| encoding | 编码,一般使用utf8 |
| errors | 报错级别 |
| newline | 区分换行符 |
| closefd | 传入的file参数类型 |
在pycham中将光标放在open()方法,也可以看出方法的相关说明
model模式
| 'r' | 读取(默认)(打开并读取文本,同 'rt' ) |
| 'w' | 写入,并先截断文件 |
| 'x' | 排它性创建,如果文件已存在则失败 |
| 'a' | 写入,如果文件存在则在末尾追加 |
| 'b' | 二进制模式 |
| 't' | 文本模式(默认) |
| '+' | 更新磁盘文件(读取并写入) |
二、文件操作
1.r模式
创建文件 file1.txt,内容为【open r 模式测试】
执行
_file=open('file1.txt') #1打开文件,等到文件句柄并赋值给变量_file
data = _file.read() #2通过句柄对文件进行read()操作
_file.close() #3.关闭文件
print(data)
运行结果
open r 妯″紡娴嬭瘯
发现虽然被读出来了,但是乱码了,这是因为open()没有指定编码时,使用的是默认编码(默认编码是依赖于平台的)指定编码为utf-8即可
执行
import locale print(locale.getpreferredencoding())
结果为
cp936
cp936即GBK
指定编码重新执行
_file=open('file1.txt','r',encoding='utf-8') #1打开文件,等到文件句柄并赋值给变量_file
data = _file.read() #2通过句柄对文件进行read()操作
data = _file.read(2) #读取的字符数
_file.close() #3.关闭文件
print(data)
运行结果
op
open r 模式测试



