文章目录
文件(file)
- 文件有些地方也称为I/O
- 操作文件的步骤
- 打开文件
- 对文件进行操作,保存操作
- 关闭文件
打开文件
文件分为两种,一种是纯文本文件(使用utf-8等编码编写的文本文件),一种是二进制文件(mp3,ppt,图片)
- 新建一个文本文件
open()
open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
open函数打开文件默认是无编码的文本文件
参数
file 需要打开的文件路径和名字
- 如果目标文件和当前文件在同一级目录下,直接使用文件名即可
- 在windows中使用路径时,可以用/代替\,或者用\代替\,或者使用原始字符串
在字符串前加r;
file_path=r'.\mldata\tets.txt'
- 两个小数点表示上一级目录,三个表示上一级的上一级
返回值
返回一个对象,代表当前打开的文件
关闭文件
- 调用close()方法来关闭文件
close()
with … as 语句
with open(file) as file_obj:
pass
作用
在with 语句中可以使用file_obj来对文件操作,同时只能在with中使用,with语句结束了文件自动关闭
文件的读取
- 通过read()来读取文件的内容
read()
- 读取出文件中所有内容
- 对于较大文件不能直接使用read(),read()可以用一个size作为参数,该参数可以指定要读取字符的数量,默认值为-1会读取文件的所有字符;
调用多次read(size)时,后面的后从前面的结尾处继续
如果已经读取完了,再调用read()会返回""空串
readline()
读取文件内容的一行,每次输出会自带/n换行
readlines()
一行一行读取文件内容,并将其内容存到列表中返回
可以通过索引访问列表中元素
for循环
for循环也会一行一行输出文件内容
文件写入
- 用write()来向文件写入内容,如果操作的是文本文件,则write()需要传递一个字符串作为参数,使用write()时,需要open()函数是可写的才行
- 使用open()打开文件时,需指定打开文件要做的操作(读,写,追加),不指定则只能执行读操作
- r 表示只读的
- w表示可写的,使用w文件不存在会创建文件,文件存在则原文件会被覆盖,原内容不复存在
- a表示追加,文件不存在则创建,文件存在则追加到原内容后
- r+既可读也可写,文件不存在会报错
- w+既可读也可写
- a+即可追加也可读
write()
write()写入完成后,返回写入的字符数
二进制文件
除文本文件以外的文件都叫二进制文件
- 读取二进制文件时需要再read()里传递‘b’,read()里的size是以字节单位
tell()
查看当前读取到的位置
seek()
可以修改当前读取的位置
参数
- 第一个 要切换到的位置
- 第二个 计算位置方式
- 0 从头计算 默认值
- 1 从当前位置开始计算
- 2 从最后位置开始计算
os.listdir()
获取指定目录下的目录结构
os.getcwd()
获取当前目录
os.chdir()
切换目录相当于cd
os.mkdir
创建目录一个名为‘python’的目录
os.mkdir(‘python’)
os.rmdir
删除名为‘python’的目录
os.rmdir(‘python’)
os.remove
删除文件a.py
os.remove(‘a.py’)
os.rename
- 将文件a.txt重命名为b.txt
os.rename(‘a.txt’,‘b.txt’) - 剪切,将当前目录下的a.txt剪切到c/user下
os.rename(‘a.txt’,‘c/user/a.txt’)