欢迎访问宙启技术站
智能推送

如何在Python中使用win32com.shell.shell复制文件或文件夹

发布时间:2024-01-14 10:39:46

在Python中,可以使用win32com.shell.shell模块来复制文件或文件夹。win32com.shell.shell提供了一种简单的方法来使用Windows的Shell操作文件系统。

首先,我们需要安装pywin32库,可以使用pip安装:

pip install pywin32

然后,我们可以使用以下代码来复制文件或文件夹:

import win32com.client

def copy_file(source, destination):
    shell = win32com.client.Dispatch("WScript.Shell")
    fso = shell.Namespace(0)
    source = fso.GetAbsolutePathName(source)
    destination = fso.GetAbsolutePathName(destination)

    # 判断是文件夹还是文件
    if fso.FileExists(source):
        # 复制文件
        fso.CopyHere(source)
    elif fso.FolderExists(source):
        # 复制文件夹
        fso.CopyFolder(source, destination)

# 复制文件
copy_file("C:\\path\\to\\source_file.txt", "C:\\path\\to\\destination_file.txt")

# 复制文件夹
copy_file("C:\\path\\to\\source_folder", "C:\\path\\to\\destination_folder")

在上面的示例代码中,首先创建了Shell对象和FileSystemObject对象。然后,使用GetAbsolutePathName方法获取源文件或文件夹的绝对路径和目标路径的绝对路径。

接下来,通过判断源路径是文件还是文件夹,调用相应的方法来复制文件或文件夹。

需要注意的是,由于win32com.shell.shell模块是基于Windows的Shell操作文件系统的,所以在使用之前,需要确保系统中已经安装了Windows Script Host(默认情况下Windows系统都会安装)。

此外,还可以使用其他方法来复制文件或文件夹,例如使用shutil模块的copy2方法(复制文件)和copytree方法(复制文件夹)。

希望以上内容对你有所帮助!