至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理员结果拒绝访问
记事本打败了他们?
不同Windows电脑上的多个进程如何同时使用共享目录中存储的文件?
Linux中的文件访问计数
电子:是否可以检索上次访问文件的date和时间
使用VC ++在Windows上保护虚拟磁盘
您可以分两步进行:首先,使用shutil.copytree()以适当的权限复制完整的目录和文件结构。 然后,您可以更改源的权限,以确保您有权删除东西,并使用shutil.rmtree()删除旧的源。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。