文件的操作
open参数介绍
操作文件的目的:就是把数据存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力
IO流:
- 读(获取): output - 输出
- 写(写入): input -输入
open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
file: 文件路径、文件名 *
mode: 操作文件的方式 *
buffering : 缓存区,存储临时数据
encoding : 编码格式 *
errors : 错误
newline : 换行
closefd: 关闭
w模式
"w"模式 写入:指针在文件的最前面
write() : 写入信息,每次写入,都是重新写入,只能传str
writelines() : 可以传str和列表,但列表的元素必须是str类型
r模式
r 模式 read 读取
read(): 读全部
参数: 读多少个字节/字符
readline(): 一次读一行
参数: 没编码格式,读字节,设置了编码格式,读字符
readlines(): 一行为一个元素,将所有内容以列表形式返回
参数: 长度不够就显示当前的元素,长度够了,读取下一个原色
x 和 a 模式
x xor 异或模式
文件不存在,则创建写入,存在则报错。
指针在最前面
a append 追加模式
文件不存在,则创建写入。如果存在,就在原内容后面添加。
指针在最后面。
与w的区别: w 每次写都会清空原内容。a 会保留原内容
b、t、+
b binary 二进制模式
t text 文本模式 (默认)
+ 更新读写
组件套装:
w r a x 单独使用
wb rb ab xb 操作二进制文件
w+ a+ r+ x+ 可读可写的操作普通文件
wb+ rb+ ab+ xb+ 可读可写的操作二进制文件
with读写
with : 用来启动对象的上下文管理器,会自动调用管理器的退出方法
as: 起别名
seek: 移动光标
参数1: 预留几个字节的位置
utf-8 : 一个中文(字符)3个字节
utf-6、jbk : 一个中文两个字节
参数2:光标的位置,默认为0
0:从开头开始算起
1:从当前位置算起
2:从的末尾算起
文件的os模块
有些时候,需要对文件进行重命名、删除等一些操作。python中的os模块中就有这些功能
os模块需要导入
- rename() 文件重命名
- remove() 删除文件
- mkdir() 创建文件夹
- getcwd() 获取当前目录 - 需要接收 - 绝对路径
- chdir() 改变默认目录 - 只改变输出的路径,不改变文件位置(更改的不是当前文件的目录 而是通过当前文件创建的其他文件的目录)
- listdir() 获取目录列表 - ./ 获取当前目录 …/ 获取上一级目录 目录名 获取当前目录下的某个目录
- rmdir() 删除文件夹