python - 使用python删除docker容器中的文件夹

标签 python django docker

我具有此功能,当在Django Admin中删除行时,该功能将删除给定目录。在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 Admin的delete中这样做不起作用。在python shell上测试时,是否可以正常工作?

最佳答案

显然,函数delete()不适用于批量删除。
我在Django Admin中正在做什么。

关于python - 使用python删除docker容器中的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44094238/

相关文章:

python - 无法从 python 中的每一行搜索和编译正则表达式代码

django - 如何保护我的网络游戏免受作弊者的侵害?

shell - Dockerfile:尝试运行shell脚本时的代码127

docker - 什么时候必须在 Dockerfile 的 CMD 指令中使用 `/bin/sh -c ".. ."` ?

python - Django 多对多(通过),带有三个表和额外属性

java - 找不到合适的驱动程序(jdbc :pgsql)

python 检查字符串是否为空 - 这是优雅的方式吗

python - iPython lprun 不打印输出

python - 如何让两个不同的函数并行运行并在Python中返回一个数组

python - JSONDecodeError 期望值 : line 1 column 1 (char 0)