Python:创建一个具有 777 权限的目录

Mik*_*lta 1 permissions python-3.x

我正在制作一个使用os.makedirs("foo"). 但是当我打开 Windows 10 文件资源管理器并右键单击已创建的新目录时,我注意到无法删除没有管理员权限的文件夹。那么如何创建一个具有递归删除该文件夹权限的文件夹呢?

我使用以下方法创建目录: os.makedirs("data/base/{}".format(args[0].text), mode=0o777)

我使用以下方法删除它:

def delete_class(self, *args):
        for root, dirs, files in os.walk("data/base/{}".format(self.clicked_class_to_delete.id), topdown=False):
            for name in files:
                filename = os.path.join(root, name)
                os.chmod(filename, stat.S_IWUSR)
                os.remove(filename)
            for name in dirs:
                os.rmdir(os.path.join(root, name))
        shutil.rmtree("data/base/{}".format(self.clicked_class_to_delete.id)
Run Code Online (Sandbox Code Playgroud)

)

小智 10

从文档中: os.makedirs(name, mode=0o777, exist_ok=False)

您可以在此处找到文档。


Gar*_*ain 7

也许您需要os.umask(0)在os.makedir,之前为当前用户移除掩码。


Gar*_*Cat 5

只需这样做:

os.makedirs(name,0777)
Run Code Online (Sandbox Code Playgroud)