Python文件的操作知识点总结

一、文件编码的概念

1. 什么是编码

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

2. 为什么需要使用编码

计算机只认识0和1,所以需要将内容翻译成0和1才能保存在计算机中,同时也需要编码,将计算机保存的0和1反向翻译回可以识别的内容。

二、文件的读取操作

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

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

  • read()
  • readline()
  • readines()
  • for line in 文件对象

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

4. 文件的操作和功能汇总

文件对象 = open(file,mode,encoding)

打开文件获得文件对象
文件对象.read(num)读取制定长度字节,不指定num读取文件全部
文件对象.readline()读取一行
文件对象.readlines()读取全部行,得到列表
for line in文件对象for循环文件行,一次循环得到一行数据
文件对象.close关闭文件对象
with open() as f通过with open语法打开文件,可以自动关闭

5. 练习:读取文件进行单词计数

#课后练习:统计nobug出现次数
#打开文件,以读取模式打开
f= open("C:\桌面\word.txt", "r", encoding="UTF-8")

#方式1:读取全部内容,通过字符串count方式统计nobug单词数量
content = f.read()
count = content.count("nobug")
print(f"nobug在文件中出现了:{count}次")

#方式2:读取内容,一行一行读取
count = 0 #使用count变量统计nobug出现的次数
for line in f:
    line = line.strip() #去除字符串开头结尾的空格以及换行符
    words = line.split()
    print(words)
    for word in words:
        if word == "nobug":
            count += 1
print(f"nobug在文件中出现了:{count}次")

#关闭文件
f.close()

三、文件的写入操作

1. 写入文件使用open函数的 "w" 模式进行写入

2. 写入的方法有

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

3. 注意事项

  • w模式,文件不存在,会创建新文件
  • w模式,文件存在,会清空原有内容 
  • close()方法,带有flush方法的功能

四、文件的追加写入操作

1. 追加写入文件使用open函数的 "a" 模式进行写入

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

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

3. 注意事项

  • a模式,文件不存在,会创建新文件
  • a模式,文件存在,会在原有内容后面继续写入
  • 可以使用 "\n" 来写出换行符

五、文件操作的综合案例

题目:

 

代码:

#打开文件得到文件对象,准备读取
fr = open("D:/bill.txt", "r", encoding="UTF-8")
#打开文件得到文件对象,准备写入
fw = open("D:/bill.txt.bak", "w", encoding="UTF-8")
#for循环读取文件
for line in fr:
    line = line.strip()
    #判断内容,将满足的内容写出
    if line.split(",")[4] == "测试":
        continue #continue进入下一次循环,这一次后面的内容就跳过了
    #将内容写出去
    fw.write(line)
    #由于前面对内容进行了strip()的操作,所以要手动的写出换行符
    fw.write("\n")
#关闭2个文件对象
fr.close()
fw.close()

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值