请问老师我应该如何才能调用__del__这个方法谢谢了
class File:def __init__(self,filename='book.txt'):
self.filename = open(filename,'wb')
def __del__(self):
self.filename.close()
del self.filename
f = File('cc.txt')
我想调用def__del__这个方法删除我创建的cc.txt文件不知道如何操作谢谢老师解答。 class File:
def __init__(self,filename='book.txt'):
self.filename = open(filename,'wb')
def __del__(self):
self.filename.close()
del self.filename
f = File('cc.txt')
del f # 注意这里 isdkz 发表于 2022-3-26 21:18
谢谢老师的讲解。但我这样操作后。cc.txt这个文件还在我的文件夹里并没有被删除。是什么原因 本帖最后由 isdkz 于 2022-3-26 22:16 编辑
redaiconglin 发表于 2022-3-26 22:10
谢谢老师的讲解。但我这样操作后。cc.txt这个文件还在我的文件夹里并没有被删除。是什么原因
因为你用 del self.filename 只是把对象的 filename 属性删掉而已,
你想删除文件得用 os.remove:
class File:
def __init__(self,filename='book.txt'):
self.filename = filename
def __del__(self):
import os
if os.path.exists(self.filename):
os.remove(self.filename)
else:
print(f'文件{self.filename}不存在!')
f = File('cc.txt')
del f # 注意这里 isdkz 发表于 2022-3-26 22:15
因为你用 del self.filename 只是把对象的 filename 属性删掉而已,
你想删除文件得用 os.remove:
...
感谢老师。我再回去复习一下文件。学了后面的前面的都忘记了。哈哈
页:
[1]