在docker conatiner中使用python删除文件夹

我有这个function,它删除在Djangopipe理中删除行时给定的目录。 在Django Admin上完成时,该行被成功删除,但该目录仍然存在。

models.py

from django.db import models from django.conf import settings import git, os, shutil class DIR (models.Model): username = models.CharField(max_length=39) repository = models.CharField(max_length=100) def get_dir_name(self): return os.path.join(settings.PLAYBOOK_DIR, self.repository) def rm_repository(self): DIR_NAME = self.get_dir_name() shutil.rmtree(os.path.join(DIR_NAME)) def delete(self): self.rm_repository(self): super(DIR, self).delete(*args, **kwargs) 

但是,当我尝试使用shell时,目录和内容被删除

 $ docker exec -it <container> python manage.py shell >>> import os, git, shutil >>> DIR_NAME = '/opt/app/john' >>> shutil.rmtree(DIR_NAME) 

shell之间有什么区别。 没有错误给出,只是不知道为什么在Django的pipe理员delete不起作用。 当它在Python shell上testing时工作?

显然函数delete()不用于批量删除。 这是我在做Djangopipe理员。