关于魔法方法的一点问题
原题:你能不能写一个 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
问题1:最后的__del__中的del self.new_file不就把文件删除了吗,题目是实现自动关闭,是哪里理解错了呢 删除对象时文件能自动关闭
这样你执行del的时候会先关闭文件再删除对象 逃兵 发表于 2021-11-7 15:48
删除对象时文件能自动关闭
这样你执行del的时候会先关闭文件再删除对象
最后一行的del self.new_file是删除路径吗?
我看书本的例子是
class C:
def __del__(self):
print('i am deling')
c1 = C()
c2=c1 W1ND123 发表于 2021-11-7 15:57
最后一行的del self.new_file是删除路径吗?
我看书本的例子是
class C:
删除对象 逃兵 发表于 2021-11-7 15:58
删除对象
谢谢,小白基础不太好,见谅
页:
[1]