当前位置:   article > 正文

Python 文件操作与编码: 读取、写入、追加及综合实例详解_python文件综合例子

python文件综合例子

数据来源

01 文件编码概念

文件编码

查看文件编码

总结

02 文件读取

什么是文件

文件操作包含那些内容?

文件的操作步骤

open() 打开函数  

mode 常用的三种基础访问模式

读操作相关方法 - read()  、readlines()、readline()

演示 - read()  、readlines()、readline()

首先准备一个.txt文件,随便写点内容

  1. """
  2. 演示对文件的读取
  3. """
  4. # 打开文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
  5. f = open('F:/测试.txt','r',encoding="UTF-8")
  6. print(type(f))
  7. # 读取文件 - read(num) num 是要读取文件的字节数,不传就是读取全部
  8. # print(f"读取10个字节:{f.read(10)}")
  9. # print(f"读取全部内容:{f.read()}")
  10. """
  11. 注意:如果在一个程序中连续调用多个read()
  12. 那后面调用的read()会在前面的读取
  13. 操作后面继续读取文件内容,也是就是说后面读取
  14. 的内容不包含前面的文件内容
  15. """
  16. # 读取文件 - readlines()
  17. # print(f.readlines()) # 读取文件的全部行,封装在列表中列表中的每个元素对应文件的每一行
  18. # 读取文件 - readline()
  19. print(f.readline()) # 一次读取一行
  20. print(f.readline()) # 一次读取一行

for 循环读取文件行 

演示

  1. # for 循环读取文件行
  2. # 打开文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
  3. f = open('F:/测试.txt','r',encoding="UTF-8")
  4. print(type(f))
  5. for line in f:
  6. print(f"每个item都是一行数据:{line}")

close() 关闭文件对象

with open 语法

演示 

  1. # with open 语法操作文件 (文件操作完成会自动关闭文件,相当于自动调用.close()方法)
  2. with open('F:/测试.txt','r',encoding="UTF-8") as f:
  3. for line in f:
  4. print(f"每个item都是一行数据:{line}")

操作汇总

总结

练习:

  1. itheima itcast python
  2. itheima python itcast
  3. beijing shanghai itheima
  4. shenzhen guangzhou itheima
  5. wuhan hangzhou itheima
  6. zhengzhou bigdata itheima

演示

  1. # with open 语法操作文件 (文件操作完成会自动关闭文件,相当于自动调用.close()方法)
  2. with open('F:/测试.txt','r',encoding="UTF-8") as f:
  3. my_list = f.readlines() # f.readlines() 读取全部文件放到列表中
  4. my_str ="" # 接收转换后的字符串
  5. for x in my_list: # 循环my_list列表
  6. my_str+=x # 将列表的内容拼接成字符串
  7. length = my_str.count("itheima") # 统计字符串”itheima“出现的数量
  8. print(f"length = {length}\n{my_list}")

03 文件的写入

写操作快速入门

演示

  1. """
  2. 演示对文件的写入
  3. """
  4. # 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
  5. # f = open('F:/测试2.txt','w',encoding="UTF-8")
  6. # write 写入
  7. # f.write("Hello World!!!") # 内容写入到内存中
  8. # flush 刷新
  9. # f.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
  10. # close 关闭
  11. # f.close() # close()方法是内置了flush()方法的功能
  12. # 打开一个存在的文件(w 当文件不存在就创建,若文件存在就会清空文件内容)
  13. f = open('F:/测试2.txt','w',encoding="UTF-8")
  14. # write写入,flush 刷新
  15. f.write("Hello,张三!!!") # 内容写入到内存中
  16. # close 关闭
  17. f.close()

  

总结

04 文件的追加

追加写入操作快速入门

演示

  1. """
  2. 演示对文件的追加
  3. """
  4. # 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
  5. # f = open('F:/测试3.txt','a',encoding="UTF-8")
  6. # write 写入
  7. # f.write("Hello World!!!") # 内容写入到内存中
  8. # flush 刷新
  9. # f.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
  10. # close 关闭
  11. # f.close() # close()方法是内置了flush()方法的功能
  12. # 打开一个存在的文件(a 当文件不存在就创建,若文件存在就会在文件内容后面追加)
  13. f = open('F:/测试3.txt','a',encoding="UTF-8")
  14. # write写入,flush 刷新
  15. f.write("Hello,张三!!!") # 内容写入到内存中
  16. # close 关闭
  17. f.close()

总结

05 文件操作综合案例(完成文件备份)

  1. name,date,money,type,remarks
  2. 周杰轮,2022-01-01,100000,消费,正式
  3. 周杰轮,2022-01-02,300000,收入,正式
  4. 周杰轮,2022-01-03,100000,消费,测试
  5. 林俊节,2022-01-01,300000,收入,正式
  6. 林俊节,2022-01-02,100000,消费,测试
  7. 林俊节,2022-01-03,100000,消费,正式
  8. 林俊节,2022-01-04,100000,消费,测试
  9. 林俊节,2022-01-05,500000,收入,正式
  10. 张学油,2022-01-01,100000,消费,正式
  11. 张学油,2022-01-02,500000,收入,正式
  12. 张学油,2022-01-03,900000,收入,测试
  13. 王力鸿,2022-01-01,500000,消费,正式
  14. 王力鸿,2022-01-02,300000,消费,测试
  15. 王力鸿,2022-01-03,950000,收入,正式
  16. 刘德滑,2022-01-01,300000,消费,测试
  17. 刘德滑,2022-01-02,100000,消费,正式
  18. 刘德滑,2022-01-03,300000,消费,正式

演示

  1. """
  2. 练习-备份文件
  3. """
  4. # 打开文件,不存在的文件 open(文件路径,操作方式,文件编码) 操作方式:r 只读打开 w 创建新的文件 a 追加文件内容
  5. f = open('F:/bill.txt','r',encoding="UTF-8") # r 读取目标文件
  6. f1 = open('F:/bill.txt.bak','a',encoding="UTF-8") # a 追加文件内容,文件不存在就会创建,存在就会追加内容到最后
  7. # write 写入
  8. for x in f:
  9. if x.count("测试") == 0 : # count() 统计指定字符出现的数量,等于0表示这条是正式的数据,不是测试数据
  10. f1.write(x) # 如果不是测试数据就写入该条数据
  11. # flush 刷新
  12. f1.flush() # 将内存积攒的内容写入到电脑的硬盘文件中
  13. # close 关闭 close()方法是内置了flush()方法的功能,
  14. f.close() # 关闭目标文件
  15. f1.close() # 关闭备份文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/478976
推荐阅读
相关标签
  

闽ICP备14008679号