我一直在使用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返回错误类型的对象有关,但我很新闻,所以如果有人能指出我正确的方向,我会非常感激!
谢谢!
答案 0 :(得分:0)
这似乎是Windows 8的兼容性问题。一旦我将Python命令行设置为使用Windows XP兼容模式执行,comtypes模块就会按预期工作。
同样的修复也适用于win32com模块,我试过但遇到了类似的困难。
要在Windows 8中设置兼容模式,您可以按照以下步骤操作: