当我不将文件描述符分配给变量,而是在"第行"中打开它时,文件描述符会发生什么?以后如何关闭它?
例如:
import csv
writer = csv.writer(open('a_file', 'wb'))
for line in some_data:
writer.writerow(line)
我知道我应该使用with
,但在这种特殊情况下,我能做些什么来关闭对应于a_file
的文件描述符?
最终被乱码收集。
这样做不是一个好的做法,因为您可能需要刷新要实际写入磁盘的文件的内容。通过让垃圾收集器在需要的时候完成它的工作,您不确定何时或是否会真正写入文件。
文件描述符与Python中的任何其他对象一样。当对它的引用超出范围时,引用计数会递减。当不再有对它的引用时,它将被删除。