01 文件编码概念
文件编码
查看文件编码
总结
02 文件读取
什么是文件
文件操作包含那些内容?
文件的操作步骤
open() 打开函数
mode 常用的三种基础访问模式
读操作相关方法 - read() 、readlines()、readline()
演示 - read() 、readlines()、readline()
首先准备一个.txt文件,随便写点内容
"""
演示对文件的读取
"""
# 打开文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
f = open('F:/测试.txt','r',encoding="UTF-8")
print(type(f))
# 读取文件 - read(num) num 是要读取文件的字节数,不传就是读取全部
# print(f"读取10个字节:{f.read(10)}")
# print(f"读取全部内容:{f.read()}")
"""
注意:如果在一个程序中连续调用多个read()
那后面调用的read()会在前面的读取
操作后面继续读取文件内容,也是就是说后面读取
的内容不包含前面的文件内容
"""
# 读取文件 - readlines()
# print(f.readlines()) # 读取文件的全部行,封装在列表中列表中的每个元素对应文件的每一行
# 读取文件 - readline()
print(f.readline()) # 一次读取一行
print(f.readline()) # 一次读取一行
for 循环读取文件行
演示
# for 循环读取文件行
# 打开文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
f = open('F:/测试.txt','r',encoding="UTF-8")
print(type(f))
for line in f:
print(f"每个item都是一行数据:{line}")
close() 关闭文件对象
with open 语法
演示
# with open 语法操作文件 (文件操作完成会自动关闭文件,相当于自动调用.close()方法)
with open('F:/测试.txt','r',encoding="UTF-8") as f:
for line in f:
print(f"每个item都是一行数据:{line}")
操作汇总
总结
练习:
itheima itcast python
itheima python itcast
beijing shanghai itheima
shenzhen guangzhou itheima
wuhan hangzhou itheima
zhengzhou bigdata itheima
演示
# with open 语法操作文件 (文件操作完成会自动关闭文件,相当于自动调用.close()方法)
with open('F:/测试.txt','r',encoding="UTF-8") as f:
my_list = f.readlines() # f.readlines() 读取全部文件放到列表中
my_str ="" # 接收转换后的字符串
for x in my_list: # 循环my_list列表
my_str+=x # 将列表的内容拼接成字符串
length = my_str.count("itheima") # 统计字符串”itheima“出现的数量
print(f"length = {length}\n{my_list}")
03 文件的写入
写操作快速入门
演示
"""
演示对文件的写入
"""
# 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
# f = open('F:/测试2.txt','w',encoding="UTF-8")
# write 写入
# f.write("Hello World!!!") # 内容写入到内存中
# flush 刷新
# f.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
# close 关闭
# f.close() # close()方法是内置了flush()方法的功能
# 打开一个存在的文件(w 当文件不存在就创建,若文件存在就会清空文件内容)
f = open('F:/测试2.txt','w',encoding="UTF-8")
# write写入,flush 刷新
f.write("Hello,张三!!!") # 内容写入到内存中
# close 关闭
f.close()
总结
04 文件的追加
追加写入操作快速入门
演示
"""
演示对文件的追加
"""
# 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
# f = open('F:/测试3.txt','a',encoding="UTF-8")
# write 写入
# f.write("Hello World!!!") # 内容写入到内存中
# flush 刷新
# f.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
# close 关闭
# f.close() # close()方法是内置了flush()方法的功能
# 打开一个存在的文件(a 当文件不存在就创建,若文件存在就会在文件内容后面追加)
f = open('F:/测试3.txt','a',encoding="UTF-8")
# write写入,flush 刷新
f.write("Hello,张三!!!") # 内容写入到内存中
# close 关闭
f.close()
总结
05 文件操作综合案例(完成文件备份)
name,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式
演示
"""
练习-备份文件
"""
# 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
f = open('F:/bill.txt','r',encoding="UTF-8") # r 读取目标文件
f1 = open('F:/bill.txt.bak','a',encoding="UTF-8") # a 追加文件内容,文件不存在就会创建,存在就会追加内容到最后
# write 写入
for x in f:
if x.count("测试") == 0 : # count() 统计指定字符出现的数量,等于0表示这条是正式的数据,不是测试数据
f1.write(x) # 如果不是测试数据就写入该条数据
# flush 刷新
f1.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
# close 关闭 close()方法是内置了flush()方法的功能,
f.close() # 关闭目标文件
f1.close() # 关闭备份文件