文件处理
1、打开文件 使用open函数
open(文件路径,访问模式,指定编码格式)
2、读取文件内容 使用read函数
注意:如果文件不存在,则会抛出异常
3、写入文件内容 使用write函数
注意:如果文件不存在。写入时创建一个文件
如果打开文件指定的模式是w则覆盖原有内容写入,如果是a则在原有内容后追加写入
4、关闭文件 close函数
注意:调用open函数打开文件后,必须调用close函数进行关闭文件 否则会占用资源,且文件不可进行其他操作
5、导入式
with open("文件路径",“访问模式”) as 变量名:
操作代码
注意:这种方式不要调用close函数关闭文件
文件路径
1、相对路径:以当前py文件所在文件夹作为文件的访问路径前缀进行寻找指定的文件;
../文件路径 :以当前py文件所在文件夹的上级文件夹开始寻找指定路径的文件
./文件路径 : 以项目的根目录开始寻找指定路径的文件
如果仅指定文件路径则以当前py文件所在目录下开始寻找指定路径的文件
2、绝对路径:文件的详细路径,以盘符开始到文件地址结束。
访问模式
1、w替换写入 :该模式会使用当前内容替换文件中的原有内容
2、r读取
3、a追加内容 :该模式会在文件内容末尾继续写入当前内容
4、r+可读可写 :默认写入是从文件开始位置开始覆盖写入,如果在写入前有读取操作,则从末尾开始追加,可通过调整指针位置进行控制开始覆盖的位置
5、rb、wb、ab 针对二进制文件进行的访问模式(rb读取,wb写入,ab追加)
注意:指定访问模式后仅能对当前文件进行指定的操作
文件指针调整
1、读取当前指针位置 tell()函数
2、调整指针:seek(偏移字节数,指针位置)可偏移指针
指针位置可选值:0(开始位置)、1(开始位置)、2(结束位置)
偏移字节数:当前指针位置值为0时有效且数值只能为正整数,指针根据偏移字节数向右进行偏移,如果偏移数大于字节总长度,则中间补充空字符
读取操作
1、read()读取整个问价
2、readline():读取一行
3、readlines():读取所有行数据,并放在列表中
os模块
提供了处理文件和文件目录的操作
1、引用os模块:import os
2、操作:
创建文件夹:os.mkdir("路径")
删除空文件夹:os.rmdir("路径")
删除非空文件夹:需要使用shutil
shutil.rmtree("路径")
文件夹重命名:os.rename('路径','新名称')
判断是否是文件夹:os.path.isdir("路径")
判断是否是文件:os.path.isfile("路径")
获取文件路径:
当前文件夹绝对路径:os.getcwd()
文件的绝对路径:os.path.abspath(文件)
示例
# 打开文件
file = open("text.txt", "w", encoding="UTF-8")
# 写入文件内容
file.write("阿打发1")
file.close()
# 打开文件
file = open("text.txt", "r", encoding="UTF-8")
# 读取文件内容
print(file.read())
file.close()
# 打开文件
file = open("text.txt", "a", encoding="UTF-8")
# 追加文件内容
file.write("测试")
file.close()
# 绝对路径
file = open(r"E:\Python\workspace\DemoProject\text.txt", "a", encoding="UTF-8")
file.write("aa阿达发的是")
file.close()
# 测试内容是否替换
file = open(r"E:\Python\workspace\DemoProject\text.txt", "w", encoding="UTF-8")
file.write("1")
file.close()
# 可读可写
file = open(r"E:\Python\workspace\DemoProject\text.txt", "r+", encoding="UTF-8")
file.read()
file.write("111")
file.close()
# 调整指针写入
file = open(r"E:\Python\workspace\DemoProject\text.txt", "r+", encoding="UTF-8")
print(file.readline())
file.seek(1, 0)
file.write("ccc")
file.close()
# 读取图片
file = open("1.jpg", "rb")
print(file.read())
file.close()
# 读取操作
file = open("1.txt", "r")
print(file.read())
file.close()
file = open("1.txt", "r")
print(file.readline())
file.close()
file = open("1.txt", "r")
print(file.readlines())
file.close()
# 导入式操作文件
with open("1.txt", "r") as file:
print(file.read())
# os模块使用
import os
filepath="test"
# 创建文件夹:os.mkdir("路径")
# os.mkdir(filepath)
# 创建文件
# open(filepath+"/2.txt",'w')
# 删除空文件夹:os.rmdir("路径")
# os.rmdir(filepath)
# 删除非空文件夹:需要使用shutil
# import shutil
# shutil.rmtree(filepath)
# 文件夹重命名:
# os.rename(filepath,"test1")
# 判断是否是文件夹:
print(os.path.isdir(filepath))
#判断是否是文件:
print(os.path.isfile(filepath))
print(os.path.isfile("1.txt"))
#当前文件夹绝对路径:
print(os.getcwd())
#文件的绝对路径:
print(os.path.abspath(filepath))
print(os.path.abspath("1.txt"))