windows 如何将所有文件夹内容从一个位置复制到另一个位置- Python?

q8l4jmvw  于 2022-12-05  发布在  Windows
关注(0)|答案(1)|浏览(271)

我一直在尝试制作一个python文件,将内容从一个文件夹复制到另一个文件夹。我希望它能在任何Windows系统上工作,我运行它。它必须复制所有内容,图像,视频等。
我已经尝试使用这个
shutil
代码,我发现在线,但它没有工作,并显示消息:* 复制文件时发生错误。*

import shutil

# Source path
source = "%USERPROFILE%/Downloads/Pictures"

# Destination path
destination = "%USERPROFILE%/Downloads/Copied_pictures"

# Copy the content of
# source to destination

try:
    shutil.copy(source, destination)
    print("File copied successfully.")

# If source and destination are same
except shutil.SameFileError:
    print("Source and destination represents the same file.")

# If there is any permission issue
except PermissionError:
    print("Permission denied.")

# For other errors
except:
    print("Error occurred while copying file.")

请帮助我解决此问题,我们非常感谢您的支持。

798qvoo8

798qvoo81#

若要复制文件夹的所有内容,可以使用shutil.copytree方法而不是shutil.copy。此方法会将源文件夹的所有内容(包括任何子文件夹和文件)复制到目标文件夹。
下面是如何使用shutil.copytree复制文件夹内容的示例:

import shutil

# Source path
source = "%USERPROFILE%/Downloads/Pictures"

# Destination path
destination = "%USERPROFILE%/Downloads/Copied_pictures"

# Copy the content of
# source to destination

try:
    shutil.copytree(source, destination)
    print("Files copied successfully.")

# If source and destination are same
except shutil.Error as e:
    print("Error: %s" % e)

# If there is any permission issue
except PermissionError:
    print("Permission denied.")

# For other errors
except:
    print("Error occurred while copying files.")

请注意,在使用shutil.copytree时,您需要捕获Error exception而不是SameFileError exception,因为它可以捕获raise不同类型的错误。您还可以指定其他选项,例如在复制文件时是否忽略某些类型的文件或保留文件权限。有关详细信息,请查看shutil.copytree的文档。

相关问题