Python中的with as语句

《Python中文件的输入》中提到,对于在完成文件写入之后,要通过close()方法关闭已经打开的文件,这样才能保证后续对文件操作的正确性。

1 未关闭文件带来的影响

有一个名为“text.txt”的文件,该文件中的内容是“Hello Python!”。接下来把该文件中的内容改为“I LOVE PYTHON.”,其代码如下所示。

file = open('text.txt', 'w')
file.write('I LOVE PYTHON.')
file.close()

如果此时在通过write()方法写入之后,没有调用close()方法关闭文件,即只保留上述代码的前两行,代码执行完毕后,打开text.txt文件,此时发现文件中之前的内容已经被清空,但是新的内容并没有被写入。也就是说,write()方法执行失败。

2 with as语句

在文件操作的编程中,经常会忘记调用close()方法。而通过with as语句,可以不用显式地调用close()方法,即可完成文件的写入。

2.1 with as语句的格式

with as语句的格式如下所示。

with 表达式 as 变量:
    语句

2.2 with as语句的执行过程

with as语句首先执行“表达式”,之后将表达式的返回值保存到“变量”中,最后执行“语句”。而with as语句的特殊点在于当“语句”执行完成后,会自动释放“变量”保存的对象所占的内容,即自动完成收尾动作。

2.3 with as语句的使用

可以通过with as语句,不显式调用close()关闭文件,即可完成写入动作,代码如下所示。

with open('text.txt', 'w') as file:
    file.write('I LOVE PYTHON.')

从以上代码中可以看出,虽然没有显示调用close(),当with as语句的代码执行完成后,会自动调用close()方法,释放打开的文件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值