41讲课后题,关闭文件后为何要删除文件
0. 小李做事常常丢三落四的,写代码也一样,常常打开了文件又忘记关闭。你能不能写一个 FileObject 类,给文件对象进行包装,从而确认在删除对象时文件能自动关闭?class FileObject:
'''给文件对象进行包装从而确认在删除时文件流关闭'''
def __init__(self, filename='sample.txt'):
#读写模式打开一个文件
self.new_file = open(filename, 'r+')
def __del__(self):
self.new_file.close()
del self.new_file
第9行已经完成了关闭文件的任务,第10行为什么还要进行删除操作,这里删除掉的是什么? 因为这是del魔法方法呀
删掉的就是那个文件 wuqramy 发表于 2020-5-14 16:46
因为这是del魔法方法呀
删掉的就是那个文件
同学又看见你了!上次也是你回答我的问题来的哈哈哈哈,所以为什么不是del self 呢?是因为del self会直接把源文件删除吗? 叱咤风云2333 发表于 2020-5-14 16:53
同学又看见你了!上次也是你回答我的问题来的哈哈哈哈,所以为什么不是del self 呢?是因为del self会直 ...
就是把它打开的那个文件给删掉 wuqramy 发表于 2020-5-14 16:56
就是把它打开的那个文件给删掉
明白了,是因为重写了__del__方法,所以在里面要加上删除命令?小甲鱼举的例子导致我以为,不管怎么重写,__del__都会自动删除文件{:10_249:}
页:
[1]