Python基础学习(十)

目录

常见的文件操作(接上文)

文件的写操作

 

结论


常见的文件操作(接上文)

文件的写操作

有'w'和'a'两种mode可以进行写入。

‘w’:删除原有内容重头写入。

'a':在原有内容后追加。

基础语法:

f = open(name,'w'or'a',encoding)
f.write(写入的内容)
f.flush()  #内容刷新
f.close()

为了避免频繁的操作硬盘导致效率下降,所以直接调用write()的内容并未真正写入文件,而是会放在程序的内存中,成为缓冲区。当调用flush()时,内容才会真正写入文件。

以下为几种操作方式:

1.‘w’

如果文件不存在,则创建新文件进行写入。

f = open("D:\PythonFileTst\demo1.txt",'w',encoding="UTF-8")
f.write("hello world!!!")
f.flush()
f.close()

在路径下得到文件demo1.txt:

如果文件存在,将会删除其原有内容,并在开头位置进行写入。

例如有文件D:\PythonFileTst\e1.txt:

进行重新写入:

f2 = open("D:\PythonFileTst\e1.txt",encoding="UTF-8")
f2.write("我们删除了原有内容并进行了重写!!")
f2.flush()
f2.close()

运行之后的e1.txt:

2.'a'

如果文件不存在,创建一个新文件进行写入,和'w'模式相同。

如果文件存在,将在原文件内容之后追加写入。

例如有文件D:\PythonFileTst\e2.txt:

进行追加写入:

f3 = open("D:\PythonFileTst\e2.txt",'a',encoding="UTF-8")
f3.write("\n我们在你后面追加写入啦!!")
f3.flush()
f3.close()

运行后的e2.txt:

结论

进行文件的写入操作时,要注意操作要求,防止使用'w'将本不该删除的内容删除了。同时,调用完write()将内容添加后,要使用flush()刷新内容,将内容从缓冲区真正写入到文件中,或者记得用close()关闭文件,自动将write()的内容刷新。

文件操作综合练习

1.

需求:有一份账单文件,记录了消费收入的具体记录,内容如下(此处不方便填写,已存入D:\PythonFileTst\bill.txt中)
读取文件
将文件写出到 bill.txt.bak文件作为备份
同时,将文件内标记为测试的数据行丢弃

解:此时有D:\PythonFileTst\bill.txt,其内容为:

代码:

f1 = open("D:/PythonFileTst/bill.txt",'r',encoding="UTF-8")
f2 = open("D:/PythonFileTst/bill.txt.bak",'w',encoding="UTF-8")
for line in f1:
    if line.count("测试") == 0:
        f2.write(line)
f2.flush()
f1.close()
f2.close()

 运行成功后,我们得到

D:/PythonFileTst/bill.txt.bak

将其打开,得到:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S0uths1deSamura1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值