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