Python:用包含相同文件的另一个目录覆盖一个目录

发布于 2024-09-26 10:19:20 字数 118 浏览 9 评论 0原文

我试图用包含相同文件的另一个目录覆盖一个目录。 我尝试过使用 distutils.dir_util.copy_tree(src, dst) 但它尝试为 dst 创建一个目录。 目标是静默覆盖目录及其内容。 还有其他方法吗?

I'm trying to overwrite a directory with another directory that contains the same files.
I've tried using distutils.dir_util.copy_tree(src, dst) but it tried to make a directory for dst instead.
The objective is to overwrite the directory and its contents silently.
Is there any other way to do so?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

久随 2024-10-03 10:19:20

编辑这个繁琐的内容显然是没有必要的;查看OP的答案以了解原因。

您可能需要首先将目标目录重命名为其他目录。如果没问题,则将源目录复制到目标目录的原始名称。然后,如果有效,请从新位置删除目标目录。

您应该首先创建一个临时目录,使用 tempfile 将目标目录移动到其中.mkdtemp

Edit: This rigamarole is apparently not necessary; see the OP's answer for the reason.

You'll probably want to first rename the destination directory to something else. If that goes okay, then copy the source directory to the original name of the destination directory. Then, if that worked, delete the destination directory from its new location.

You should first create a temporary directory into which to move the destination directory using tempfile.mkdtemp.

遥远的她 2024-10-03 10:19:20

哎呀...事实证明 distutils.dir_util.copy_tree(src, dst) 有效。

只是我从环境变量中获取了目录路径,而“\n”卡在了路径的后面。

在我的路径变量中添加 .strip() 解决了问题。

oops... Turns out that distutils.dir_util.copy_tree(src, dst) works.

It's just that I got my directory path from environment variables and '\n' was stuck at the back of my path.

Adding in a .strip() to my path variable solved the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文