python:关闭未分配给任何变量的文件描述符

python:关闭未分配给任何变量的文件描述符,python,file-descriptor,Python,File Descriptor,如果我没有将文件描述符分配给变量,但只是“按行”打开它,那么文件描述符会发生什么情况?我以后如何关闭它 例如: import csv writer = csv.writer(open('a_file', 'wb')) for line in some_data: writer.writerow(line) 我知道我应该将与一起使用,但是在这种特殊情况下,我能做些什么来关闭与文件对应的文件描述符?最终会被垃圾收集 这样做不是一个好的做法,因为您可能需要刷新文件的内容才能实际写入磁盘。通过

如果我没有将文件描述符分配给变量,但只是“按行”打开它,那么文件描述符会发生什么情况?我以后如何关闭它

例如:

import csv
writer = csv.writer(open('a_file', 'wb'))
for line in some_data:
    writer.writerow(line)

我知道我应该将
一起使用,但是在这种特殊情况下,我能做些什么来关闭与
文件
对应的文件描述符?

最终会被垃圾收集


这样做不是一个好的做法,因为您可能需要刷新文件的内容才能实际写入磁盘。通过让垃圾收集器在需要时执行其工作,您不确定文件何时或是否将实际写入。

文件描述符与Python中的任何其他对象类似。当对它的引用超出范围时,引用计数将递减。当没有更多的引用时,它会被删除。

它不仅仅是“更容易”使用
。我完全不知道你为什么希望这样做,但我强烈反对。好吧,好吧,我只是想知道在这个特殊的情况下发生了什么:)互联网上有很多例子以我描述的方式打开文件,所以我只是想知道这些文件描述符发生了什么。没有必要发脾气,因为这不是完成这项简单任务的最佳推荐方式不发脾气,鼓励好奇,只是想确定;)好的,所以当我处于交互模式时,按照我描述的做是非常糟糕的做法!