微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在驱动器上使用只读文件`shutil.move`

至less在Windows上,将包含只读文件文件夹移动到另一个驱动器将失败。 它失败,因为move是通过一个copy后跟一个rmtree 。 最后, rmtree试图删除不可写入的文件

目前我通过首先为所有(嵌套)文件设置stat.S_IWUSER来解决这个问题,但是现在我仍然应该恢复原来的stat :

def make_tree_writable(source_dir): for root,dirs,files in os.walk(source_dir): for name in files: make_writable(path.join(root,name)) def make_writable(path_): os.chmod(path_,stat.S_IWUSR) def movetree_workaround(source_dir,target_dir): make_tree_writable(source_dir) shutil.move(source_dir,target_dir)

所以我想知道:这是这样的吗? 有没有可以使用的shutil2 ? 我可以在那里得到任何帮助吗?

打开后文件没有准备好写入?

从Java Web应用程序访问Linux本地文件系统

删除其他用户userfolder作为pipe理员结果拒绝访问

记事本打败了他们?

文件被另一个进程使用。 如何知道哪个进程?

Docker copY命令提供对复制文件的访问权限

不同Windows电脑上的多个进程如何同时使用共享目录中存储的文件

Linux中的文件访问计数

电子:是否可以检索上次访问文件的date和时间

使用VC ++在Windows上保护虚拟磁盘

您可以分两步进行:首先,使用shutil.copytree()以适当的权限复制完整的目录和文件结构。 然后,您可以更改源的权限,以确保您有权删除东西,并使用shutil.rmtree()删除旧的源。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐