我正在编写一个使用os.makedirs("foo")创建文件夹的程序。但当我打开Windows10文件资源管理器并右键单击已创建的新目录时,我注意到如果没有管理员权限,则无法删除该文件夹。那么如何创建一个有权递归删除此文件夹的文件夹呢?
我使用以下命令创建目录: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))
发布于 2019-03-18 19:02:10
也许你需要在os.makedir之前做os.umask(0),去掉当前用户的掩码。
发布于 2017-12-03 20:50:59
只需执行以下操作:
os.makedirs(name,0777)发布于 2017-12-03 20:53:41
来自文档:os.makedirs(name, mode=0o777, exist_ok=False)
您可以找到文档here。
https://stackoverflow.com/questions/47618490
复制相似问题