【问题标题】:Python comtypes - '_Dispatch' object is not callablePython comtypes - '_Dispatch' 对象不可调用
【发布时间】:2014-08-13 12:05:15
【问题描述】:

我一直在使用 Python 的 comtypes 模块来自动化 Photoshop,但是当我尝试在 windows8 上执行命令时出现 TypeError。

这些相同的命令在 windows7 上运行良好。

这是我正在使用的代码示例:

from comtypes.client import CreateObject

psApp = CreateObject("Photoshop.Application")

#Create a new document- this is where it bombs out!
psApp.Documents.Add(1024, 1024, 72, 'new_source_texture', 2, 1, 1)

这是我得到的 Traceback:

Traceback (most recent call last):
    File "test.py", line 9, in <module>
    psApp.Documents.Add(1024, 1024, 72, 'new_source_texture', 2, 1, 1)
TypeError: '_Dispatch' object is not callable

我怀疑这与 comtypes 返回错误类型的对象有关,但我很新,所以如果有人能指出我正确的方向,我将不胜感激!

谢谢!

【问题讨论】:

    标签: python comtypes


    【解决方案1】:

    这似乎是与 Windows 8 的兼容性问题。一旦我将 Python 命令行设置为在 Windows XP 兼容模式下执行,comtypes 模块就会按预期工作。

    同样的修复也适用于 win32com 模块,我尝试过但遇到了类似的困难。

    要在 Windows 8 中设置兼容模式,您可以按照以下步骤操作:

    1. 转到您的控制面板。
    2. 单击“程序”类别。
    3. 点击“运行为以前版本的 windows 制作的程序”
    4. 通过故障排除程序,选择 Python 命令行作为目标程序。

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      • 2020-10-03
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      相关资源
      最近更新 更多