保持可疑是对的。
首先,file.truncate
这样做:
截断文件的大小。如果存在可选的 size 参数,则文件将被截断为(最多)该大小。尺寸默认为当前位置…
与Zed的描述不太相同- 仅在当前位置是文件的开头时才“清空文件”,但由于我们只是打开了文件(而不是在a
模式下),所以当前位置是开始,因此不相关。我们将截断为空文件。
一切都很好,除了open
已经做到了:
模式最常用的值是'r'
用于读取,'w'
用于写入(如果文件已经存在,则将其截断)…
因此,我们打开文件,如果不存在则创建文件,如果存在则将其截断为0字节。然后,在下一行,将其截断为0个字节。
(由于我们已经将其截断,因此“截断文件。再见!”的消息非常容易引起误解。想象一下,您在该行上放置了一个断点,并决定在执行该程序之前将其终止…)
但是请注意,这并不是Zed的愚蠢错误。他似乎是专门为在练习5中指出要点而这样做的:
如果您使用'w'
模式打开文件,那么您真的需要target.truncate()
吗?阅读有关Pythonopen
函数的文档,然后查看是否正确。