• Python文件操作


    目录​​​​​​​

    1. 文件编码

    2. 文件操作

    2.1 文件读取

    2.1.1 概述

    2.1.2 案例

    2.2 文件的写入

    2.3 文件的追加

    2.4 综合案例


    1. 文件编码

    什么是编码?

    • 编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。
    • 编码有许多种,我们常用的就是UTF-8。

    为什么使用编码?

    • 将可识别的内容翻译为保存在计算机中的二进制数据需要编码。
    • 将保存在计算机中的二进制数据反向翻译为可识别的内容也需要编码。

    2. 文件操作

    2.1 文件读取

    2.1.1 概述

    1.操作文件需要通过open函数打开文件得到文件对象。

    2.文件对象有如下读取方法:

    3.文件读取完成后,要使用文件对象.close()方法关闭文件对象,否则文件会被程序一直占用。

    2.1.2 案例

    通过文件读取操作,读取word.txt文件,统计itheima单词出现的次数。

    1. # 打开文件
    2. f = open("word.txt","r",encoding="utf-8")
    3. '''
    4. 方式1:读取全部内容,通过字符串的count方法统计
    5. '''
    6. content = f.read()
    7. count = content.count("itheima")
    8. print(f"itheima单词出现的次数是:{count}")
    9. # 关闭文件
    10. f.close()
    1. # 打开文件
    2. f = open("word.txt","r",encoding="utf-8")
    3. '''
    4. 方式2:一行行读取,一行行统计
    5. '''
    6. # 计数
    7. count = 0
    8. # for循环读取文件行
    9. for line in f:
    10. word_list = line.strip().split(" ") #strip方法用于去除开头和结尾的空格以及换行符
    11. # word_list = line.split("\n")[0].split(" ")
    12. for word in word_list:
    13. if word == "itheima":
    14. count += 1
    15. print(f"itheima单词出现的次数是:{count}")
    16. # 关闭文件
    17. f.close()

    2.2 文件的写入

    1.写入文件使用open方法的“w”模式进行写入。

    2.写入的方法有:

    • write() ,写入内容。
    • flush(),刷新内容到硬盘中。

    3.注意:

    • w模式,文件不存在,会创建新文件。
    • w模式,文件存在,会清空原有内容
    • close()方法,带有flush()方法的功能。
    1. # 打开文件(如文件不存在则会自动创建)
    2. f = open("test2.txt","w",encoding="utf-8")
    3. # write方法 将内容写入到内存中
    4. f.write("hello world!!!")
    5. # flush刷新 将内存中的内容写入到硬盘的文件中
    6. # f.flush()
    7. # 关闭文件 内置了flush方法
    8. f.close()
    9. # 打开文件(如文件不存在则会自动创建)
    10. f = open("test2.txt","w",encoding="utf-8")
    11. # write方法 覆盖前一次写入的内容
    12. f.write("hello python!!!")
    13. # 关闭文件
    14. f.close()

    test2.txt

    2.3 文件的追加

    1.追加写入文件使用open方法的“a”模式进行写入。

    2.追加写入的方法有(和w模式一致):

    • write() ,写入内容。
    • flush(),刷新内容到硬盘中。

    3.注意:

    • w模式,文件不存在,会创建新文件。
    • w模式,文件存在,会在原有内容后面继续写入
    • close()方法,带有flush()方法的功能。
    1. # 打开文件(如文件不存在则会自动创建)
    2. f = open("test3.txt","a",encoding="utf-8")
    3. # write方法 将内容写入文件
    4. f.write("hello world!!!")
    5. # 关闭文件
    6. f.close()
    7. # 打开文件(如文件不存在则会自动创建)
    8. f = open("test3.txt","a",encoding="utf-8")
    9. # write方法 将内容追加写入文件
    10. f.write("\nhello python!!!")
    11. # 关闭文件
    12. f.close()

    2.4 综合案例

     有一份账单文件,记录了消费收入的具体记录,内容如下:

    要求:

    • 读取文件
    • 将文件内标记为正式的数据行写入到bill.txt.bak文件作为备份
    1. # 打开bill.txt文件
    2. fr = open("F:/bill.txt","r",encoding="utf-8")
    3. # 打开bill.txt.bak文件
    4. fw = open("F:/bill.txt.bak","w",encoding="utf-8")
    5. # for循环读取文件行
    6. for line in fr:
    7. # strip方法用于去除开头和结尾的空格以及换行符
    8. line = line.strip()
    9. if line.split(",")[4] == "正式":
    10. fw.write(line)
    11. # 手动写入之前去掉的换行符
    12. fw.write("\n")
    13. # 关闭文件
    14. fr.close()
    15. fw.close()

    bill.txt.bak

  • 相关阅读:
    MySQL锁
    核工程行业数字化转型----工业软件讲坛第十次讲座
    【MySQL 数据库 基础】基础sql语句
    学生HTML个人网页作业作品 简单的IT技术个人简历模板html下载 简单个人网页设计作业 静态HTML个人博客主页
    102.网络游戏逆向分析与漏洞攻防-ui界面的设计-反隐身功能的界面设计与实现(有不使用MFC生成,自己手写代码创建复选框与事件的例子)
    一些常用的sql命令记录
    设备自动化技术商务咨询
    计算机毕业设计之java+ssm的网上订餐系统
    MPLS工作过程
    Java高级 线程
  • 原文地址:https://blog.csdn.net/m0_60121089/article/details/127481139