0

我一直在使用 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 (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 返回错误类型的对象有关,但我很新,所以如果有人能指出我正确的方向,我将不胜感激!

谢谢!

4

1 回答 1

0

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

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

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

  1. 转到您的控制面板。
  2. 单击“程序”类别。
  3. 单击“运行为以前版本的 Windows 制作的程序”
  4. 逐步执行疑难解答,选择 Python 命令行作为目标程序。
于 2013-02-15T19:44:09.890 回答