python关键字是什么;加上;用来做什么?
python关键字“with”用于什么 示例来自:python关键字是什么;加上;用来做什么?,python,Python,python关键字“with”用于什么 示例来自: 在python中,在处理非托管资源(如文件流)时使用with关键字。它类似于VB.NET和C#中使用语句的。它允许您确保在使用资源的代码完成运行时“清理”资源,即使抛出异常也是如此。它为try/finally块提供“语法糖” 发件人: with语句澄清了以前将使用try…finally块来确保执行清理代码的代码。在本节中,我将讨论该语句,因为它通常会被使用。在下一节中,我将检查实现细节,并展示如何编写与此语句一起使用的对象 with语句是一种控
在python中,在处理非托管资源(如文件流)时使用
with
关键字。它类似于VB.NET和C#中使用语句的。它允许您确保在使用资源的代码完成运行时“清理”资源,即使抛出异常也是如此。它为try/finally
块提供“语法糖”
发件人:
with
语句澄清了以前将使用try…finally
块来确保执行清理代码的代码。在本节中,我将讨论该语句,因为它通常会被使用。在下一节中,我将检查实现细节,并展示如何编写与此语句一起使用的对象
with
语句是一种控制流结构,其基本结构为:
with expression [as variable]:
with-block
表达式将被计算,它将生成一个支持上下文管理协议的对象(即,具有\uuuuuu enter\uuuuuuu()
和\uuuuuu exit\uuuuuuu()
方法)
根据Scott Wisniewski的评论更新固定VB标注。我确实混淆了和以及使用:
当您有两个相关的操作时,它非常方便
成对执行,中间有一段代码。经典
例如,打开一个文件,操纵该文件,然后
关闭它:
with open('output.txt', 'w') as f:
f.write('Hi there!')
上述with语句将在
嵌套的代码块。(继续阅读,以了解关闭的确切方式
使用with语句的优点是
保证关闭文件,无论嵌套块如何退出。如果
在块结束之前发生异常,它将关闭
外部异常处理程序捕获异常之前的文件。如果
嵌套块将包含return语句、continue语句或continue语句
break语句,with语句将自动关闭文件
在这些情况下也是如此
这可能会有所帮助:当您有两个相关的操作要成对执行,并且无论它们之间的嵌套代码如何退出,您都需要保证这两个操作的执行时,这会很方便。请参见此处的示例:使用哪些方法关闭打开的资源?如果我创建了自己的文件系统对象,该对象有自己的特殊打开/关闭方法,那么“with”关键字是否可以处理这些方法?或者“with”只与内置Python资源类型一起工作?在Python中,自定义对象似乎必须实现(或从实现的对象继承)\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。使用IronPython(python on.Net),您可以从IDisposable实现,这将涵盖它。不确定在纯Python或其他框架中最好的方法是什么。仅供参考:这会混淆VB.NET中的“using”语句,其行为类似于Python中的“with”块,而VB中的“with”语句则完全不同。请参阅以下内容:我希望JavaScript与
…我想为python中使用with添加一个额外的答案,与打开或关闭文件无关:def test_new_user_invalid_email(self):“test creating user with no email raiser error”与self.assertRaises(ValueError):获取用户模型()。对象。创建用户(无,'pass@word')
with open('output.txt', 'w') as f:
f.write('Hi there!')