如何在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方法(复制文件夹)。
希望以上内容对你有所帮助!
