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

时间:2017-12-03 12:45:57

标签: python-3.x permissions

我正在创建一个使用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)

4 个答案:

答案 0 :(得分:2)

这样做:

os.makedirs(name,0777)

答案 1 :(得分:1)

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

您可以找到文档here

答案 2 :(得分:0)

也许您需要在 string report = string.Join(" ", // 2 - number of phoenixes phoenixes.Count().ToString(), // phoenixes' exteriers (lengths and widths) string.Join(" ", phoenixes), // phoenixes' total years - a pinch of Linq - Select string.Join(" ", phoenixes.Select(item => item.TotalYears)) ); Console.Write(report); 之前做os.umask(0),才能删除当前用户的掩码。

答案 3 :(得分:0)

基于时间戳的目录。经完全许可。

now = datetime.datetime.now().strftime("%y%m%d%H%M")
dirName = "/var/name-{}".format(now)
os.umask(0)
os.makedirs(dirName,mode=0o777)