python文件操作案例
学习路线:python的文件读取基础入门(read(),readlines(),with.open())
->python文件读取操作练习题(统计单词)
->python写入文件操作入门->
python中的文件的追加操作->python文件操作案例
需求分析
需求:有一份账单文件,记录了消费收入的具体记录,内容如下:
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,消费,正式
我们现在要做的就是:
- 读取文件
- 将文件写出到bill.txt.bak文件作为备份
- 同时,将文件内标记为测试的数据行丢弃
实现思路:
- open和r模式打开一个文件对象,并读取文件
- open和w模式打开另一个文件对象,用于文件写出
- for循环内容,判断是否是测试不是测试就write写出,是测试就continue跳过
- 将2个文件对象均close()
完整代码
""" 演示文件操作综合案例:文件备份 """ # 打开文件得到文件对象,准备读取 fr = open("D:\系统默认\桌面\博客素材\pyecharts\Texts\word.txt", "r", encoding="UTF-8") content = fr.readlines() # 打开文件得到文件对象,准备写入 fw = open("D:\系统默认\桌面\博客素材\pyecharts\Texts\word.txt", "w", encoding="UTF-8") # for循环读取文件 for line in content: print(line) line = line.strip() # 判断内容,将满足的内容写出 if line.split(",")[4] == "测试": continue # continue进入下一次循环,这一次后面的内容就跳过了 # 将内容写出去 fw.write(line) # 由于前面对内容进行了strip()的操作,所以要手动的写出换行符 fw.write("\n") # close2个文件对象 fr.close() fw.close() # 写出文件调用close()会自动flush()
运行结果:
把测试的段落都去掉了,运行成功