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

win32com.shell.shell模块在Python中的基础用法:创建和删除文件夹

发布时间:2024-01-01 14:08:50

在Python中,win32com.shell.shell模块是一个用于与Windows Shell交互的模块。它可以用于操作文件和文件夹,包括创建和删除文件夹。

首先,我们需要导入该模块:

import win32com.shell.shell as shell

创建文件夹

要创建一个文件夹,我们可以使用Shell对象的ShellFolder.CreateFolder方法。该方法使用文件夹路径作为参数,并返回一个表示创建的文件夹的ShellFolder对象。

下面是一个创建文件夹的例子:

def create_folder(path):
    folder = shell.SHCreateItemFromParsingName(path, None, shell.IID_IShellFolder)
    folder.CreateFolder(None, 'New Folder')

例子中,我们首先使用shell.SHCreateItemFromParsingName方法创建一个表示指定路径的ShellFolder对象。然后,我们调用CreateFolder方法,在指定路径下创建一个名为"New Folder"的文件夹。

删除文件夹

要删除一个文件夹,我们可以使用Shell对象的ShellFolder.DeleteFolder方法。该方法使用文件夹路径作为参数,并删除该路径下的文件夹。

下面是一个删除文件夹的例子:

def delete_folder(path):
    folder = shell.SHCreateItemFromParsingName(path, None, shell.IID_IShellFolder)
    folder.DeleteFolder(None, 'FolderToDelete')

例子中,我们首先使用shell.SHCreateItemFromParsingName方法创建一个表示指定路径的ShellFolder对象。然后,我们调用DeleteFolder方法,删除指定路径下名为"FolderToDelete"的文件夹。

完整的例子

下面是一个完整的例子,演示如何创建和删除文件夹:

import win32com.shell.shell as shell

def create_folder(path):
    folder = shell.SHCreateItemFromParsingName(path, None, shell.IID_IShellFolder)
    folder.CreateFolder(None, 'New Folder')

def delete_folder(path):
    folder = shell.SHCreateItemFromParsingName(path, None, shell.IID_IShellFolder)
    folder.DeleteFolder(None, 'FolderToDelete')

if __name__ == '__main__':
    create_folder('C:\\Test\\')
    delete_folder('C:\\Test\\')

在这个例子中,我们首先调用create_folder函数创建一个名为"New Folder"的文件夹,路径为C:\Test\。然后,我们调用delete_folder函数删除路径为C:\Test\下名为"FolderToDelete"的文件夹。

综上所述,win32com.shell.shell模块是一个用于与Windows Shell交互的模块,在Python中可以用于创建和删除文件夹。我们可以使用Shell对象的CreateFolder方法创建文件夹,使用DeleteFolder方法删除文件夹。