繁体   English   中英

属性错误pywin32

[英]AttributeError pywin32

我使用 pywin32 库从一周开始解析 visio 文件以提取形状及其内容。 我多次运行脚本,但从昨天开始执行它们时出现此错误: File "C:\Program Files\Python39\lib\site-packages\win32com\client\__init__.py", line 580, in __getattr__ raise AttributeError( AttributeError: '<win32com.gen_py.Microsoft Visio 16.0 Type Library.IVDocument instance at 0x1943434388768>' object has no attribute 'pages'

这是我的脚本中产生错误的部分:

import glob
import os
import win32com.client as w32

path = r"C\Users\..." 
all_files = glob.glob(path + "/*.vsd")
visio = w32.Dispatch("visio.Application")

for filename in all_files:
  
    print(filename)
    vdoc = visio.Documents.Open(filename) 
    page = vdoc.pages(1) <-- the problematic line
    shps = page.Shapes 

我列出了 visio 文件,在 for 循环中打开它们后,我阅读了第一页(它们都有一页)。 第一个 visio 也打开了,但是在出现错误之后。 我尝试卸载并重新安装 pywin32,我在另一个目录中工作,更改我的导入名称......我在另一台 PC 上尝试过,pywin 也可以工作。 我真的不明白为什么 python 现在会出现这个错误,最重要的是我不碰这条线。 你有一些想法来解决这个问题吗?

我不明白它是如何工作的,但是将所有命令都大写,例如 .Pages/.Type/.Text/.Shapes/.Names 因为在命令 uncapitatlized.pages/.type/.text/.shapes/.names 起作用之前...如果有人有我接受的解释,那就太奇怪了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM