1. 打开文件
- 打开文件的模式
# 只能做一种操作
只读模式:r # 文件指针放在文件的开头
只写模式:w # 如果文件存在,则将其覆盖
追加模式:a # 文件指针放在文件的结尾
二进制形式读:rb
二进制形式写:wb
二进制形式追加:ab
# 即可读取,又可写入
读写文件:r+ # 默认从0的光标位置开始读,在光标所在位置开始写(可能将光标后的文字覆盖)
读写文件:w+ # 写入之后光标在最后,读取时需调整光标位置(.seek(指定光标位置)
读写文件:a+ # 写入时总是在为最后位置写入
- 文件的编码格式
unicode:# 四个字节
ASCII
utf-8:# 表示中文是时用3个字节
gbk:# 表示中文是时用2个字节
# 注意:以什么编码格式编写的文件,在打开时就要用同样的编码格式打开。
- 当文件不存在时先创建文件
open('文件', mode='w', encoding='utf-8')
open('文件', mode='a', encoding='utf-8')
- 只有文件存在时才能进行操作
open('文件', mode='r', encoding='utf-8')
2. 读写文件内容
- 读取操作
file = open('文件', mode='w', encoding='utf-8)
file.read() # 读取所有文件内容
file.read(num) # 读取num个字符
file.readline() # 一行一行读取
file.readlines() # 读取多行
file.close()
- 写入操作
file = open('文件', mode='w', encoding='utf-8)
file.write('写入内容')
file.close()
注意
不管是进行读取操作,还是写入操作,在执行完之后,必须关闭打开的文件,执行.close()操作!
3. with结构打开文件
- 打开单个文件
with open('文件', mode='w', encoding='utf-8) as file:
file.read()
file.write('写入内容')
- 打开多个文件
with open('文件1', mode='w', encoding='utf-8) as file1, open('文件1', mode='w', encoding='utf-8) as file1:
file1.read()
file2.read()
file1.write('写入内容')
file2.write('写入内容')
注意
通过with结构打开一个文件,在使用完毕之后会自动关闭打开的文件。
4. os模块
import os
os.rename('原文件名', '新文件名') # 重命名
os.remove('待删除的文件名') # 删除文件
os.mkdir(文件夹名) # 创建文件夹
os.rmdir('文件夹名') # 删除文件夹(只能删除空文件夹)
os.getcwd() # 获取文件所在的绝对目录地址
os.chdir(指定文件路径) # 改变默认文件路径
os.listdir('./') # 获取当年前目录列表