一、文件读写

1、打开文件:文件对象 = open(文件路径/文件名, 访问模式)

  • 访问模式
模式 描述
r 以只读⽅式打开⽂件(默认),⽂件指针在开头,若⽂件不存在则报错
rb 以只读方式打开⽂件(⼆进制格式),⽂件指针在开头,若⽂件不存在则报错
r+ 以读写方式打开⽂件,⽂件指针在开头,若⽂件不存在则报错
rb+ 以读写方式打开⽂件(二进制格式),⽂件指针在开头,若⽂件不存在则报错
w 以写入方式打开⽂件,若⽂件不存在则创建,若⽂件已存在,则打开⽂件从头开始编辑(原有内容会被删除)
wb 以写入方式打开⽂件(二进制格式),若⽂件不存在则创建,若⽂件已存在,则打开⽂件从头开始编辑(原有内容会被删除)
w+ 以读写方式打开⽂件,若⽂件不存在则创建,若⽂件已存在,则打开⽂件从头开始编辑(原有内容会被删除)
wb+ 以读写方式打开⽂件(二进制格式),若⽂件不存在则创建,若⽂件已存在,则打开⽂件从头开始编辑(原有内容会被删除)
a 以追加方式打开⽂件,若⽂件不存在,创建新⽂件进⾏写⼊
ab 以追加方式打开⽂件(二进制格式),若⽂件不存在,创建新⽂件进⾏写⼊
a+ 以读写方式打开⽂件,若⽂件不存在,创建新⽂件进⾏写⼊
ab+ 以读写方式打开⽂件(二进制格式),若文件不存在,创建新⽂件进⾏写⼊

2、读取文件

  • 读取文件全部数据:文件对象.read()

可设置参数num:从⽂件中读取的数据的⻓度(单位:字节)

  • 按行读取文件全部数据:文件对象.readlines()

返回的是⼀个列表,其中每⼀⾏的数据为⼀个元素

  • 每次读取⼀⾏文件数据:文件对象.readline()

使用多次则依次返回第一行、第二行等数据

  • 移动⽂件指针:⽂件对象.seek(偏移量, 起始位置)

  • 起始位置:0代表⽂件开头,1代表当前位置,2代表⽂件结尾

  • 没有使用二进制模式打开的文件,只允许从文件头开始计算相对位置,所以起始位置为1时,需要以二进制打开文件

3、写入文件:文件对象.write(内容)

文件写入时,不能以只读模式打开文件

4、关闭文件:文件对象.close()

二、文件操作(os模块)

1、导入模块

1
import os

2、模块方法

  • 文件重命名:os.rename(⽬标⽂件名, 新⽂件名)
  • 删除文件:os.remove(⽬标⽂件名)
  • 创建文件夹:os.mkdir(⽂件夹名字)
  • 删除文件夹:os.rmdir(⽂件夹名字)
  • 获取当前目录:os.getcwd()
  • 改变默认目录:os.chdir(⽬录)
  • 获取目录列表:os.listdir(⽬录)