Python笔记 文件的写,追加,备份操作

一、文件的写操作

案例演示:

# 1.打开文件
f = open('python.txt','w')

# 2.文件写入
f.write('hello world')

# 3.内容刷新
f.flush()

注意:

直接调用write,内容并为真正的写入文件,二十会积攒在程序的内存中,称之为缓冲区

当调用flush的时候,内容会真正写入文件

这样做是避免频繁的操作硬盘,导致效率下降(攒一堆,一次性写磁盘)

# 演示文件的写入
import time

# 打开文件,不存在的文件  文件不存在w模式会帮我们创建文件 当文件存在会覆盖
f = open("D:/test.txt","w",encoding="UTF-8")

# write写入
f.write("hello world!")    # 内容写入到内存中

# flush刷新
f.flush()                   # 将内存中积攒的内容,写入到硬盘的文件中
time.sleep(600000)

# close关闭
f.close()                   # close方法内置了flush功能
# 打开一个存在的文件

总结:

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

2.写入的方法有:

    w 模式,文件不存在,会创建新文件

    w 模式,文件存在,会清空原有内容

    close()方法,带有flush()方法的功能

二、文件的追加操作
# 文件的追加操作

# 打开文件,不存在的文件
f = open("D:/test.txt","a",encoding="UTF-8")

# write写入
f.write("黑马程序员")

# flush刷新
f.flush()

# close关闭
f.close()

# 打开一个存在的文件
f = open("D:/test,txt","a","encoding")

# write写入,flush刷新
f.write("学Python最佳选择")

# close关闭
f.close()

总结:

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

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

write(),写入内容

flush(),刷新内容到硬盘zhpng

3.注意事项

a模式,文件不存在,会创建新文件

a模式,文件存在,会在原有内容后面继续写入

可以使用“\n”来写换行符

三、文件的备份

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

将内容复制并保存为bill.txt文件

1.读取文件

2.将文件写出到bill.txt.bak文件作为备份

3.同时,将文件内标记为测试的数据行丢失

实现思路:

open和r模式打开一个文件对象,并读取文件

open和w模式打开另一个文件对象,用于文件写出

for循环内容,判断是否是测试不是测试就write写出,是测试就continue跳过

将2个文件对象均close()

"""
 演示文件操作综合案例:文件备份
"""

# 打开文件得到文件对象,准备读取
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")

# close2个文件对象
fr.close()
fw.close()  # 写出文件调用close()会自动flush()

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值