软件测试中,python 中 open与with open 的区别?

如题所述

open函数

  1.open函数: file=open(filename, encoding='utf-8'),open()函数是Python内置的用于对文件的读写操作,返回的是文件的流对象(而不是文件本身,所以使用的方法都是流对象的方法)。使用这个函数时可以指定encoding参数(Python2.7中不支持),因为Python代码在不同的平台环境中使用的默认编码方式不同,有可能会发生编译出错的问题。

  2. filename参数:在open中的文件名参数filename中,包含的路径表示虽然可以根据不同的环境使用斜杠和反斜杠,但在Python中表路径时,斜杠都是正确的。

  3. 文件操作对象file:流对象file,即open的默认模式下的返回值。使用for循环对对象file进行迭代时,每次迭代都会自动分离出一行(效果相当于对read()lines结果的for循环遍历):
with创建临时运行环境

  作用:with用于创建一个临时的运行环境,运行环境中的代码执行完后自动安全退出环境。

  文件操作:使用open进行文件操作使建议使用with创建运行环境,可以不用close()方法关闭文件,无论在文件使用中遇到什么问题都能安全的退出,即使发生错误,退出运行时环境时也能安全退出文件并给出报错信息。

with open(’/path/to/file’, ‘r’) as f:

print(f.read())
这和前面的try … finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。
如果想了解跟多相关的执行可以来传智播客软件测试学习
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-15
主要就是,open需要自己关闭文件,with open,不用