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

时间:2013-12-17 14:23:41

标签: python file-descriptor

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

例如:

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

我知道我应该使用with,但在这种特殊情况下我可以做什么来关闭与a_file对应的文件描述符?

2 个答案:

答案 0 :(得分:4)

最终被收集了。

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

答案 1 :(得分:1)

文件描述符与Python中的任何其他对象一样。当对它的引用超出范围时,引用计数递减。如果没有对它的引用,则将其删除。