gpt4 book ai didi

python - 如何从 ctypes 使用 IFileOperation

转载 作者:行者123 更新时间:2023-12-03 23:47:04 33 4
gpt4 key购买 nike

我想用IFileOperation从 python 代码复制文件 -

  • 它很快(比 python 快)
  • 你会得到一个很好的对话
  • 不阻塞 Python

  • 在 Windows 10 上,Python 3.8 -
    import ctypes

    ctypes.windll.shell32.IFileOperation

    似乎不存在。

    我如何联系 IFileOperation (不是已弃用的 SHFileOperation API)使用 ctypes ?

    最佳答案

    当然,它位于 pythoncomshell对于常量,例如:

    from win32com.shell import shell
    import pythoncom

    # create an instance of IFileOperation
    fo = pythoncom.CoCreateInstance(shell.CLSID_FileOperation, None, pythoncom.CLSCTX_ALL, shell.IID_IFileOperation)

    # here you can use SetOperationFlags, progress Sinks, etc.

    # create an instance of IShellItem for the source item
    item1 = shell.SHCreateItemFromParsingName("c:\\temp\\source.txt", None, shell.IID_IShellItem)

    # create an instance of IShellItem for the target folder
    folder = shell.SHCreateItemFromParsingName("c:\\another", None, shell.IID_IShellItem)

    # queue the copy operation
    fo.CopyItem(item1, folder, "new name.txt", None)

    # commit
    fo.PerformOperations()

    关于python - 如何从 ctypes 使用 IFileOperation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62065891/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com