gpt4 book ai didi

python - 如何在 PyCharm 中完成 COM 编程的代码?

转载 作者:行者123 更新时间:2023-12-03 15:19:00 25 4
gpt4 key购买 nike

使用 app = win32com.client.Dispatch('Some.Application') 时,是否有任何可行的方法在 PyCharm 中完成代码?必须从 API 文档重新输入(或复制粘贴)所有内容是相当乏味的,创建 skeletons 也是如此。是。有没有其他方法可以让 PyC​​harm 知道通过 COM 提供的接口(interface),特别是如果我可以提供 .tlb文件?或者至少有某种方法可以从 TypeLib 自动生成这样的骨架(或包装模块?)?

最佳答案

由于 PyCharm 无法知道 app 的运行时类型,您不应该期望在 app 上获得代码完成。直接地;至少在他们决定为从类型库生成代码添加内置支持之前不会。

但是,您可以利用 win32com根据 the first part of this answer 中描述的类型库隐式生成代码,以及 PyCharm 对类型提示的支持,以获得 COM 方法的代码完成。

  • 确保 Python 类型已经生成;它们的位置由 COM 对象的 GUID 确定。例如,我机器上的 Microsoft Word 2016 的类型可在C:\Users\username\appdata\local\temp\gen_py\3.6\00020905-0000-0000-c000-000000000046x0x8x7\ .
  • 将此文件夹添加到 PyCharm Python 解释器的路径中;参见例如this answer .
  • 导入要完成代码的模块。

  • 在下面的屏幕截图中,我们将此方法与 Word 的 Find 一起使用。 :

    enter image description here

    enter image description here

    现在,除了感觉很脏之外,这种方法依赖于已经生成的相关类型,并且代码完成仅限于对象发布的方法,所以我想它在实践中的用处可能会有所限制;特别是,任何处理代码的人都必须生成代码,否则注释将导致 NameError s。就个人而言,我可能更喜欢在实现过程的探索部分使用 Jupyter,并在 the answer mentioned above 中概述了最小的调整。 , Jupyter 可以通过 win32com 扩展为具有完整的代码完成功能.

    关于python - 如何在 PyCharm 中完成 COM 编程的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42273433/

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