移动文件和目录,即使它们已经存在于 dest 中

发布于 2024-11-06 20:32:44 字数 473 浏览 2 评论 0原文

所以我想将一些文件和目录从一个位置复制到另一个位置。使用 shutdown.move 非常简单,但是当文件或目录已经位于目标位置时我遇到了问题。我收到的错误是目标路径“...”已经存在

我尝试了 os.rename ,但它也没有产生预期的结果。 有没有一种简单的方法可以将文件和目录结构复制到另一个位置,即使这些文件和目录结构已经存在于 dest 中?

这是我现在所拥有的:

fileList = os.listdir('/Users/john.leschinski/Desktop/testSrc')  
dest = '/Users/john.leschinski/Desktop/testMove'  
for i in fileList:  
    src = '/Users/john.leschinski/Desktop/testSrc/' + i  
    shutil.move(src,dest)

So I want to copy some files and directories from one location to another. Easy enough with shutil.move, but I run into problems when the files or directories are already in the destination. The error I get is Destination path '...' already exists.

I tried os.rename and it didn't produce the desired results either.
Is there an easy way to copy files and dir structure to another location, even if those files and dir structure are already present in dest?

Here's what I have now:

fileList = os.listdir('/Users/john.leschinski/Desktop/testSrc')  
dest = '/Users/john.leschinski/Desktop/testMove'  
for i in fileList:  
    src = '/Users/john.leschinski/Desktop/testSrc/' + i  
    shutil.move(src,dest)

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

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

发布评论

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

评论(1

她说她爱他 2024-11-13 20:32:44

怎么样:

def move_over(src_dir, dest_dir):
    fileList = os.listdir(src_dir)
    for i in fileList:
        src = os.path.join(src_dir, i)
        dest = os.path.join(dest_dir, i)
        if os.path.exists(dest):
            if os.path.isdir(dest):
                move_over(src, dest)
                continue
            else:
                os.remove(dest)
        shutil.move(src, dest_dir)

src_dir = '/Users/john.leschinski/Desktop/testSrc'
dest_dir = '/Users/john.leschinski/Desktop/testMove'
move_over(src_dir, dest_dir)

How about:

def move_over(src_dir, dest_dir):
    fileList = os.listdir(src_dir)
    for i in fileList:
        src = os.path.join(src_dir, i)
        dest = os.path.join(dest_dir, i)
        if os.path.exists(dest):
            if os.path.isdir(dest):
                move_over(src, dest)
                continue
            else:
                os.remove(dest)
        shutil.move(src, dest_dir)

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