我正在学习如何使用open(file, 'r')并且想知道:
如果我说open(file1, 'r'),然后再尝试open()再次使用相同的文件,它会工作吗?因为我从来没有这样做过close().它是否在打开后立即关闭,因为它没有分配给任何变量?
在cpython中,如果在open()不将结果赋值给变量的情况下使用,则会立即再次关闭该文件.在其他python实现(IronPython,jython等)上可能并非如此; 如果未明确关闭,则在被垃圾回收器删除时,文件对象将被关闭.
您可以多次打开文件,因此您可以随时open()再次传递相同的文件名,文件是否打开.
通常最好使用开放文件作为上下文管理器,使用with语句.当with语句下缩进的代码块完成后,文件会自动关闭:
with open(filename, 'r') as f:
# Do things with f
# f is automatically closed
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
449 次 |
| 最近记录: |