我正在通过自动完成无聊的工作,我注意到他将开放模块教为:
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/