欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

with语句的使用方式

程序员文章站 2024-02-20 11:08:10
...
  1. with语句的使用
# 1、以写的⽅式打开⽂件
f = open("1.txt", "w")
# 2、写⼊⽂件内容
f.write("hello world")
# 3、关闭⽂件
f.close()

代码说明:

  • 文件使用完后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的

这种写法可能出现一定的安全隐患,错误代码如下:

# 1、以读的⽅式打开⽂件
f = open("1.txt", "r")
# 2、读取⽂件内容
f.write("hello world")
# 3、关闭⽂件
f.close()

运行结果:

Traceback (most recent call last):
    File "/home/python/Desktop/test/xxf.py", line 4, in <module>
        f.write("hello world")
io.UnsupportedOperation: not writable

代码说明:

  • 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。
  • 为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来解决
    安全写法:
try:
# 1、以读的⽅式打开⽂件
f = open("1.txt", "r")
# 2、读取⽂件内容
f.write("xxxxx")
except IOError as e:
print("⽂件操作出错", e)
finally:
# 3、关闭⽂件
f.close()

运行结果:

⽂件操作出错 not writable

这种方法虽然代码运行良好,但是缺点就是代码过于冗长,并且需要添加try-except-finally语句,不是很方
便,也容易忘记.
在这种情况下,Python提供了 with 语句的这种写法,既简单又安全,并且 with 语句执行完成以后自动
调用关闭文件操作,即使出现异常也会自动调用关闭文件操作。

with 语句的示例代码:

# 1、以写的⽅式打开⽂件
with open("1.txt", "w") as f:
    # 2、读取⽂件内容
    f.write("hello world")

相关标签: with