文件的打开与关闭、
通过Python内置的open函数,我们可以指定文件名、操作模式、编码信息 等来获得操作文件的对象,这里所说的操作模式是指要打开什么样的文件(字符文件还是二进制文件)以及做什么样的操作(读、写还是追加)
格式
open(file , mode=’r ’, encoding=None)
file:文件路径 , mode:操作模式 ,
encoding:用于指定文件编码(UTF-8, ascii,Unicode,GBK)
mode可取具体的如下表。
操作模式 | 具体含义 |
'r' | 读取 (参数mode默认值) |
'w' | 写入(会先截断之前的内容) |
'x' | 写入,如果文件已经存在会产生异常 |
'a' | 追加,将内容写入到已有文件的末尾 |
'b' | 二进制模式方式打开 |
't' | 文本模式(默认) |
'+' | 更新(既可以读又可以写) |
读写文本文件
1读取文件
打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的):
>>> f = open('test.txt', 'r')
r表示是文本文件,rb是二进制文件。(这个mode参数默认值就是r)
如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存
文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的
所以 使用到 变量.close() 来关闭
同时python也提供了一系列文件方法 如:
方法 | 具体作用 |
read() | 从指定的文件中读取指定字数或字节 语法格式:read(1) 参数1(如果为空表示读取全部)用于设置读取数据字节 |
readline() | 从指定文件中读取一行(多次输出结果不会重复) |
redlines() | 一次性读取所以数据,若成功会输出列表型 语法格式: redlines(hint=1)或redlines() 参数hint 用于控制函数读取行数 |
注: read() 和 redlins()两种可以一次全部读取数据 但数据过大 会造成计算机内存耗尽 不够安全对大型数据
演示:
如果遇到以上情况 给个编即可 encoding=“utf-8“如下:
Readline():
Readlines()
文件写入
方法 | 具体作用 |
write() | 指定 文件 写入内容 语法格式:read(data) 参数data表示写入的数据 注:写入成功会返回出内容字节数 |
writelines() | 将“行 列 表“写入文件 语法格式:writelines(lines) 参数lines表示要写入的数据 注:写入成公则不会返回任何信息,加入要换行内容需加上换行符号(\n) |
演示:
注:因为f.writelines没有然后东西 所以回输出None