我正在通过自动完成无聊的工作,我注意到他将开放模块教为:

baconFile = open('bacon.txt', 'w')
baconFile.write('Bacon is not a vegetable.')
baconFile.close()


为什么我们根本需要baconFile变量?我了解易读性/调试性,但是,当我尝试以下代码时,文本未输入到.txt文件中:

open('bacon.txt', 'w').write('Bacon is not a vegetable.')
open('bacon.txt', 'w').close()


为什么?两者有什么区别?

编辑:人们说我在底部的代码中再次打开它。那不是我在最高代码中所做的吗?我以为变量只是我不想再次键入的任何代码的替代。

最佳答案

在您的版本中,您创建两个文件处理程序(如原始示例中的baconFile),每次调用open时一个,并且它们处理相同的文件。 baconFile不是文件,它是处理文件的对象。

您用来编写一些文本的第一个。您永远不会关闭,并且在程序结束时它将销毁。

当您在w模式下打开第二个时,它将重置文本内容,然后将其关闭。

关于python - 自动化乏味的东西:这些Python函数为什么不做同样的事情?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60030086/

10-09 04:16