关于 with 语句 python 的混淆

问题描述

我有一个关于在 python 中使用 with 语句的问题,如下所示:

with open(fname) as f:
    np.save(f,MyData)      

如果我没记错的话,这会以安全的方式打开文件 fname,这样如果发生异常,文件就会正确关闭。然后它将 MyData 写入文件。但我会做的很简单:

np.save(fname,MyData)

这将导致相同的情况,MyData 被写入 fname。我不确定我是否正确理解为什么前者更好。我不明白这个单行如何在运行该行后保持文件“打开”。因此,当我的代码随后崩溃时,我也没有看到这会如何产生问题。

也许这是一个愚蠢/基本的问题,但我一直认为更简洁的代码是更好的代码,所以没有额外的 with 循环对我来说似乎更好。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)